Aplikace formálních metod v analýze sémantických rozdílů mezi verzemi software

but.committeeprof. Ing. Tomáš Vojnar, Ph.D. (předseda) Ing. Martin Hrubý, Ph.D. (člen) Ing. Aleš Smrčka, Ph.D. (člen) Dr. Ing. Petr Peringer (člen) Ing. Radek Hranický, Ph.D. (člen) Ing. Ondřej Lengál, Ph.D. (č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.cs
but.jazykangličtina (English)
but.programInformační technologie a umělá inteligencecs
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.created2024cs
dc.description.abstractCílem této práce je navrhnout integraci formálních metod pro DiffKemp, nástroj pro statickou analýzu sémantických rozdílů v rozsáhlých programech napsaných v jazyce C. Cílem tohoto rozšíření je umožnit analýzu složitějších změn, které by typicky byly analyzovatelné spíše nástroji založenými na formálních metodách, a zároveň zachovat škálovatelnost nástroje DiffKemp na velké projekty. Principem navrženého řešení je při analýze v případě nalezení možné sémantické změny zakódovat problém ekvivalence příslušných instrukcí jako instanci problému SMT. Tím je možné sémantický rozdíl potvrdit, nebo vyvrátit s pomocí SMT solveru. Navržené řešení bylo implementováno v nástroji DiffKemp a experimenty provedené na sadě programů zvané EqBench ukazují, že rozšiřuje schopnosti nástroje DiffKemp, převážně v oblasti přesné analýzy úprav aritmetických výrazů.en
dc.description.abstractThe goal of this work is to propose an integration of formal methods into DiffKemp, a static analysis tool for analyzing semantic differences of large-scale C projects. The aim of this extension is to facilitate analysis of more complex code changes, which would typically be better handled by a tool based on formal methods, while also maintaining DiffKemp’s scalability to large projects. To achieve this, whenever a possible semantic change is found, the equivalence of the relevant instructions is encoded into an SMT problem instance and the difference is either confirmed or refuted using an SMT solver. The proposed solution has been implemented in DiffKemp and our experiments on a set of benchmarks called EqBench show that it extends the capabilities of DiffKemp, mainly with regards to sound analysis of refactorings of arithmetic expressions.cs
dc.description.markAcs
dc.identifier.citationNEČAS, F. Aplikace formálních metod v analýze sémantických rozdílů mezi verzemi software [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.cs
dc.identifier.other157112cs
dc.identifier.urihttp://hdl.handle.net/11012/249016
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.subjectDiffKempen
dc.subjectstatická analýzaen
dc.subjectsémantické rozdílyen
dc.subjectLLVM IRen
dc.subjectformální metodyen
dc.subjectvzory změn v kóduen
dc.subjectřešení problému SMTen
dc.subjectZ3 solveren
dc.subjectLinuxové jádroen
dc.subjectsbírka programů EqBenchen
dc.subjectDiffKempcs
dc.subjectstatic analysiscs
dc.subjectsemantic differencescs
dc.subjectLLVM IRcs
dc.subjectformal methodscs
dc.subjectcode change patterncs
dc.subjectSMT solvingcs
dc.subjectZ3 solvercs
dc.subjectLinux kernelcs
dc.subjectEqBench benchmarkcs
dc.titleAplikace formálních metod v analýze sémantických rozdílů mezi verzemi softwareen
dc.title.alternativeApplying formal methods to analysis of semantic differences between versions of softwarecs
dc.typeTextcs
dc.type.drivermasterThesisen
dc.type.evskpdiplomová prácecs
dcterms.dateAccepted2024-06-20cs
dcterms.modified2024-06-20-15:34:56cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid157112en
sync.item.dbtypeZPen
sync.item.insts2025.03.26 15:38:35en
sync.item.modts2025.01.15 20:00:04en
thesis.disciplineMatematické metodycs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs
thesis.levelInženýrskýcs
thesis.nameIng.cs
Files
Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
892.35 KB
Format:
Adobe Portable Document Format
Description:
file final-thesis.pdf
Loading...
Thumbnail Image
Name:
review_157112.html
Size:
13.32 KB
Format:
Hypertext Markup Language
Description:
file review_157112.html
Collections