Szimbolikus végrehajtás támogatása gráfmetrikákkal

OData támogatás
Konzulens:
Dr. Micskei Zoltán Imre
Méréstechnika és Információs Rendszerek Tanszék

Napjainkban a szoftverfejlesztés egyik kulcsfontosságú eleme a minőség ellenőrzése, melynek egyik eszköze a tesztelés. A fejlesztők által készített egységtesztek mellett ma már számos automatikus tesztgeneráló eszköz kínál lehetőség a tesztkészlet és a kódfedettség gyors növelésére. Egy ilyen eszköz hatékonyságának a növelését vizsgálja és ad rá megoldást a dolgozatom.

A Microsoft által fejlesztett IntelliTest az egyik elterjedt tesztgeneráló eszköz. Az IntelliTest dinamikus szimbolikus végrehajtást használ a tesztkészletek előállításához. Működését egy SEViz nevű eszközzel kiegészítve vizsgáltam, mely képes arra, hogy az IntelliTest általi tesztgenerálási folyamatot egy gráf formájában szemléltesse (szimbolikus végrehajtási gráf). A tesztgenerálási folyamat során azonban számos olyan szituáció fordulhat elő, mely megakadályozza a teljes fedettséget adó tesztkészlet előállítását. Ilyen például a példányosítási probléma vagy a túl bonyolult kényszerek az útvonalfeltételben. Ezen problémák észlelésére és esetleges áthidalására a már említett szimbolikus végrehajtási gráf nyújthat megoldást.

A szimbolikus végrehajtási gráfok hatékony elemzéséhez különböző metrikákat vezettem be, azzal a céllal, hogy sikerüljön észlelni a tesztgenerálási anomáliákat. Az általam kiválasztott metrikák egy kivételével a gráfelméletben is használt tulajdonságok (csúcsok száma, levelek száma, átlagos elágazási faktor, átmérő, magasság, metrikus dimenzió). A kivétel pedig szimbolikus végrehajtás specifikus, mely a végrehajtási útvonal bonyolultságát vizsgálja. A metrikák kiszámolásának módjára megoldási lehetőségeket vázoltam fel minden esetben.

Dolgozatomban részletesen ismertetem, hogy hogyan valósítottam meg a metrikák kiszámítását, milyen algoritmusokat használtam fel, hová kerülnek azok elmentésre a kiszámításuk után. Egy nyíltforráskódú projekten bemutatom az általam megvalósított metrikákat. A dolgozat végén javaslatokat teszek az elkészült implementáció továbbfejlesztésére.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.