Nagyméretű forráskódtárak inkrementális statikus analízise
Nagyméretű, komplex szoftverek fejlesztésekor a közreműködők számának növekedésével a kódban is gyakrabban fordulhatnak elő hibák. Ezek kiküszöbölésére jelenleg is rendelkezésre állnak megoldások, mint például a statikus analízis, amely többek között automatikusan ellenőrzi, hogy a kód megfelel-e a kódolási szabályoknak.
A statikus analízis a gyakorlatban sokszor lassú és drága művelet. Különösen folytonos integrációs alkalmazása során jelent skálázhatósági kihívást, mert minden módosítás után újra kell futtatni az ellenőrzést a teljes kódbázison. Ugyanakkor nagy igény jelentkezik a statikus analízis technológiák gyorsítására, mivel a gyakorlatban a tesztelést és így a fejlesztés egészét jelentősen gyorsíthatja, hiszen segíti a hibák korai szűrését.
Az egyik lehetséges megoldás az inkrementális feldolgozás. A TDK dolgozat keretében olyan rendszert készítettem, mely segítségével a felhasználók által definiált problémákra inkrementális módon lehet keresni. Ilyenkor a teljes kódbázison csak egyszer szükséges az ellenőrzést elvégezni. Későbbi módosítások esetén (pl. verziókezelő rendszerbeli commit) csak a módosítás által érintett részeket szükséges újra ellenőrizni. Az előzőlegesen tárolt eredményeket pedig csak a módosítás által keltett változással kell frissíteni.
A rendszer működőképességének igazolására olyan méréseket terveztem, melyek nyílt forrású programkódok analízisfolyamatainak végrehajtásával betekintést nyújtanak a rendszer skálázhatóságára az elemzett kódbázis méretének tükrében. Ezeket a méréseket elosztott környezetben végeztem el.
szerző
-
Stein Dániel
mérnökinformatikus
nappali
konzulensek
-
-
Dr. Ráth István
Tudományos munkatárs, Mesterséges Intelligencia és Rendszertervezés Tanszék