Detail práce
Generování testovacích vstupů podle stopy programu
Tato práce se zabývá návrhem a implementací nástroje pro automatické generování testových vstupů na základě určené stopy programu. Cílem je zjednodušit a zefektivnit proces vytváření testových sad splňující pokročilá kritéria pokrytí (používaných v kritických aplikacích psaných v nízko úrovňových jazycích C/C++ splňující přísná omezení). Na základě modelu programu nástroj zkoumá, jaké přesné podmínky musí nastat pro průchod programu dle zadané stopy. Pro nalezení vhodných hodnot využívá existující pokročilý nástroj řešič SMT specializovaný na řešení problému splnitelnosti. Nástroj využívá knihovny překladačového rámce LLVM pro práci s modelem programu a knihovnu Z3 pro práci s řešičem SMT. Výsledkem této práce je návrh architektury nástroje pro generování testových vstupů, který dokáže vygenerovat vstupy pro vykonání zadané stopy programu díky analýzování modelu programu, a implementace jeho prototypu.
Testování sfotwaru, LLVM, SMT-LIB, Generování testových vstupů
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázku oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm "A".
Viete o nejakých existujúcich prácach, ktoré riešia rovnaký, alebo podobný problém? Ak áno, v čom je Vaša práca rozdielna?
Drábek Vladimír, doc. Ing., CSc. (UPSY FIT VUT), člen
Hanáček Petr, doc. Dr. Ing. (UITS FIT VUT), člen
Lengál Ondřej, Ing., Ph.D. (UITS FIT VUT), člen
Pavlík Jan, Mgr., Ph.D. (UM OADM FSI VUT), člen
Veselý Vladimír, Ing., Ph.D. (UIFS FIT VUT), člen
@mastersthesis{FITMT22088, author = "Tom\'{a}\v{s} Su\v{s}ovsk\'{y}", type = "Diplomov\'{a} pr\'{a}ce", title = "Generov\'{a}n\'{i} testovac\'{i}ch vstup\r{u} podle stopy programu", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2019, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/22088/" }