Detail práce

Program Loop Unwinding in the 2LS Framework

Bakalářská práce Student: Nečas František Akademický rok: 2021/2022 Vedoucí: Malík Viktor, Ing.
Název česky
Rozbalování smyček programů v nástroji 2LS
Jazyk práce
anglický
Abstrakt

Cílem této práce je navrhnout vylepšený mechanismus rozbalování smyček pro analyzátor 2LS. 2LS je nástroj pro statickou analýzu C programů založený na usuzování o programech pomocí SMT solveru. Kombinuje několik běžných verifikačních technik do algoritmu zvaného kIkI. Jednou z klíčových součástí tohoto algoritmu je rozbalování smyček programu. Současné řešení bohužel neumožňuje správně rozbalovat smyčky obsahující operace s dynamicky alokovanou pamětí. Námi navrhované řešení je založeno na rozbalování smyček v GOTO programu namísto SSA formy, díky čemuž je možné správně pracovat s dynamickými objekty a operacemi s nimi. Navržené řešení bylo implementováno v nástroji 2LS a naše experimenty na sadě testů z mezinárodní soutěže ve verifikaci software (SV-COMP) ukazují, že zvyšuje korektnost analýzy programů pracujících s dynamickými objekty.

Klíčová slova

analýza programů, formální verifikace, statická analýza, nástroj 2LS, rozbalování smyček, k-indukce, bounded model checking, SSA forma, GOTO programy, dynamická paměť

Ústav
Studijní program
Informační technologie
Soubory
Stav
obhájeno, hodnocení A
Obhajoba
13. června 2022
Oponent
Průběh obhajoby

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ázky 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.

Otázky u obhajoby

Metoda kIkI implementovaná v nástroji 2LS staví, jak sám uvádíte, mj. na abstraktní interpretaci. Jednou z důležitých komponent abstraktní interpretace je také operátor pro tzv. "widening". Je tento operátor v 2LS rovněž nějakým způsobem využit?

Komise
Vojnar Tomáš, prof. Ing., Ph.D. (UITS FIT VUT), předseda
Grézl František, Ing., Ph.D. (UPGM FIT VUT), člen
Martínek Tomáš, doc. Ing., Ph.D. (UPSY FIT VUT), člen
Peringer Petr, Dr. Ing. (UITS FIT VUT), člen
Ryšavý Ondřej, doc. Ing., Ph.D. (UIFS FIT VUT), člen
Citace
NEČAS, František. Program Loop Unwinding in the 2LS Framework. Brno, 2022. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2022-06-13. Vedoucí práce Malík Viktor. Dostupné z: https://www.fit.vut.cz/study/thesis/24719/
BibTeX
@bachelorsthesis{FITBT24719,
    author = "Franti\v{s}ek Ne\v{c}as",
    type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce",
    title = "Program Loop Unwinding in the 2LS Framework",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2022,
    location = "Brno, CZ",
    language = "english",
    url = "https://www.fit.vut.cz/study/thesis/24719/"
}
Nahoru