• čeština
    • English
    • русский
    • Deutsch
    • français
    • polski
    • українська
  • English 
    • čeština
    • English
    • русский
    • Deutsch
    • français
    • polski
    • українська
  • Login
View Item 
  •   Repository Home
  • Závěrečné práce
  • bakalářské práce
  • Fakulta informačních technologií
  • 2022
  • View Item
  •   Repository Home
  • Závěrečné práce
  • bakalářské práce
  • Fakulta informačních technologií
  • 2022
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

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

Program Loop Unwinding in the 2LS Framework

Thumbnail
View/Open
review_145190.html (1.441Kb)
final-thesis.pdf (1022.Kb)
Posudek-Vedouci prace-24719_v.pdf (87.08Kb)
Posudek-Oponent prace-24719_o.pdf (88.08Kb)
Author
Nečas, František
Advisor
Malík, Viktor
Referee
Vojnar, Tomáš
Grade
A
Altmetrics
Metadata
Show full item record
Abstract
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 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.
 
The 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.
 
Keywords
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ěť, program analysis, formal verification, static analysis, 2LS Framework, loop unwinding, k -induction, bounded model checking, SSA form, GOTO programs, dynamic memory
Language
angličtina (English)
Study brunch
Informační technologie
Composition of Committee
prof. 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) Ing. Tomáš Martínek, Ph.D. (člen) Dr. Ing. Petr Peringer (člen)
Date of defence
2022-06-13
Process of defence
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?
Result of the defence
práce byla úspěšně obhájena
Persistent identifier
http://hdl.handle.net/11012/207322
Source
NEČ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.
Collections
  • 2022 [309]
Citace PRO

Portal of libraries | Central library on Facebook
DSpace software copyright © 2002-2015  DuraSpace
Contact Us | Send Feedback | Theme by @mire NV
 

 

Browse

All of repositoryCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

My Account

LoginRegister

Statistics

View Usage Statistics

Portal of libraries | Central library on Facebook
DSpace software copyright © 2002-2015  DuraSpace
Contact Us | Send Feedback | Theme by @mire NV