kódelemzés

Eljárásközi hibák keresése nagy méretekben az Infer statikus analizátorral – egy cikk az Infer statikus analizátor működési elvéről és főbb különbségeiről a többi analizátorhoz képest.

Az Infert a Facebook fejlesztette ki, hogy megtalálja a hibákat a C, C++, Objective-C és Java programokban. Java esetén olyan hibákat észlel, mint a nulla hozzáférés, az erőforrásszivárgás, a holtpontok és a versenyfeltételek.

A fő különbség ez az eszköz és a többi között az, hogy képes a teljes metódushívási fa tudását felhasználni a hiba megtalálásához. Példaként a szerzők olyan kódot adnak meg, amely átveszi az egyik metódusból kapott objektumot, és átadja egy másiknak. Azáltal, hogy képes elemezni, hogy az első metódus milyen értékeket ad vissza, és hogyan használja a második metódus, az elemző megjósolhatja, hogy az első metódus null értéket ad vissza, a második pedig nem teszteli az argumentumait nullára.