static

Găsirea erorilor inter-procedurale la scară cu analizorul static Infer — un articol despre principiul de funcționare al analizorului static Infer și diferențele sale principale față de alte analizoare.

Infer a fost dezvoltat la Facebook pentru a găsi erori în programele C, C++, Objective-C și Java. În cazul Java, poate detecta erori precum acces nul, scurgeri de resurse, blocaje și condiții de cursă.

Principala diferență dintre acest instrument și altele este că este capabil să folosească cunoștințele întregului arbore de apelare a metodei pentru a găsi eroarea. De exemplu, autorii furnizează cod care preia un obiect primit dintr-o metodă și îl transmite altuia. Fiind capabil să analizeze ce valori returnează prima metodă și cum o folosește a doua metodă, analizatorul poate prezice că prima metodă poate returna null, iar a doua metodă nu își testează argumentele pentru null.