Rozbalování smyček programů v nástroji 2LS

but.committeeprof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. Ing. Ondřej Ryšavý, Ph.D. (místopředseda) Ing. František Grézl, Ph.D. (člen) doc. Ing. Tomáš Martínek, Ph.D. (člen) Dr. Ing. Petr Peringer (člen)cs
but.defenceStudent 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?cs
but.jazykangličtina (English)
but.programInformační technologiecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorMalík, Viktoren
dc.contributor.authorNečas, Františeken
dc.contributor.refereeVojnar, Tomášen
dc.date.created2022cs
dc.description.abstractCí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 k I k I. 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.en
dc.description.abstractThe goal of this work is to propose an improved unwinding mechanism for the 2LS formal verification tool. 2LS is a static analysis framework for C programs based on reasoning about programs using an SMT solver. It combines multiple common verification techniques into an algorithm called k I k I. One of the crucial parts of the algorithm is loop unwinding. Unfortunately, the existing solution does not correctly support unwinding of loops containing operations with dynamically allocated memory. Our proposed solution is based on unwinding loops in a GOTO program rather than the SSA form, making it possible to correctly handle dynamic objects and operations over them. The proposed solution has been implemented in the 2LS framework and our experiments on a set of benchmarks from the International Competition on Software Verification (SV-COMP) show that it improves soundness of analysis of programs working with dynamic objects.cs
dc.description.markAcs
dc.identifier.citationNEČAS, F. Rozbalování smyček programů v nástroji 2LS [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2022.cs
dc.identifier.other145190cs
dc.identifier.urihttp://hdl.handle.net/11012/207322
dc.language.isoencs
dc.publisherVysoké učení technické v Brně. Fakulta informačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectanalýza programůen
dc.subjectformální verifikaceen
dc.subjectstatická analýzaen
dc.subjectnástroj 2LSen
dc.subjectrozbalování smyčeken
dc.subjectk -indukceen
dc.subjectbounded model checkingen
dc.subjectSSA formaen
dc.subjectGOTO programyen
dc.subjectdynamická paměťen
dc.subjectprogram analysiscs
dc.subjectformal verificationcs
dc.subjectstatic analysiscs
dc.subject2LS Frameworkcs
dc.subjectloop unwindingcs
dc.subjectk -inductioncs
dc.subjectbounded model checkingcs
dc.subjectSSA formcs
dc.subjectGOTO programscs
dc.subjectdynamic memorycs
dc.titleRozbalování smyček programů v nástroji 2LSen
dc.title.alternativeProgram Loop Unwinding in the 2LS Frameworkcs
dc.typeTextcs
dc.type.driverbachelorThesisen
dc.type.evskpbakalářská prácecs
dcterms.dateAccepted2022-06-13cs
dcterms.modified2022-06-20-10:23:15cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid145190en
sync.item.dbtypeZPen
sync.item.insts2025.03.18 19:41:29en
sync.item.modts2025.01.15 14:22:29en
thesis.disciplineInformační technologiecs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs
thesis.levelBakalářskýcs
thesis.nameBc.cs
Files
Original bundle
Now showing 1 - 4 of 4
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
1022.25 KB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
Posudek-Vedouci prace-24719_v.pdf
Size:
87.09 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Vedouci prace-24719_v.pdf
Loading...
Thumbnail Image
Name:
Posudek-Oponent prace-24719_o.pdf
Size:
88.09 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Oponent prace-24719_o.pdf
Loading...
Thumbnail Image
Name:
review_145190.html
Size:
1.44 KB
Format:
Hypertext Markup Language
Description:
file review_145190.html
Collections