Ekvivalenciapartíciók meghatározása C programkódokból

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

Életünk közel minden pontján megtalálhatók a szoftverek. Legyen szó akár a zsebünkben lapuló mobiltelefonról, akár a háztartásokban megtalálható újszerű mosógépekről, de gondolhatunk például az üzleti célú szoftverekre (banki szolgáltatások), illetve ma már az autóipar is erősen szoftverorientáltnak mondható.

Napjainkban szerencsére egyre több emberben tudatosul, hogy mekkora jelentősége is van a forráskódok ellenőrzésének, főleg biztonságkritikus rendszerek esetében. Egy lehetőség az ellenőrzésre maga a tesztelés, vagyis a kódunk futtatás során történő vizsgálata. Ilyen tesztek elvégzésének megtervezése sokféleképpen történhet, és az egyik ilyen módszer a specifikációra alapszik. Ennek során megpróbáljuk olyan lefutásokra bontani az elkészült programot, amelyek hasonló működést eredményeznek, és ezeket az útvonalakat próbáljuk minél széleskörűbben letesztelni. Egy ilyen értékkészletet, amelynek értékeire hasonlóan működik a program, egy ekvivalenciapartíciónak nevezünk. Azonban ezeket a partíciókat meghatározni nagyon bonyolult is lehet, így előfordulhat, hogy nem sikerül teljeskörűen letesztelnünk ilyen módon az elkészült alkalmazást.

A szakdolgozatom során bemutatok röviden pár ellenőrzési lehetőséget, különös tekintettel az ekvivalenciapartíciók meghatározásán alapuló technikára. Több lehetőséget is megvizsgálok, hogyan lehetne automatikusan meghatározni ezeket a partíciókat a kód alapján. Tervezek és implementálok egy prototípust, amely lehetővé teszi, hogy pusztán a forráskód alapján meghatározhassuk a megírt kód ekvivalenciapartícióit.

Az elkészített alkalmazást több mesterséges kódon is kipróbáltam, ezek eredményeiről is írok a dokumentum végén. Ezek alapján az elkészült alkalmazás az egyszerű C típusokat és vezérlési szerkezeteket tartalmazó programokat jól kezeli. Ezen felül összegzem az elkészült munkát, továbbá megadok pár lehetőséget az elkészült alkalmazás továbbfejlesztésére.

Letölthető fájlok

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