Relační verifikace programů s celočíselnými daty
but.jazyk | angličtina (English) | |
but.program | Výpočetní technika a informatika | cs |
but.result | práce byla úspěšně obhájena | cs |
dc.contributor.advisor | Vojnar, Tomáš | en |
dc.contributor.author | Konečný, Filip | en |
dc.contributor.referee | Bouajjani, Ahmed | en |
dc.contributor.referee | Jančar, Petr | en |
dc.date.created | cs | |
dc.description.abstract | Tato práce představuje nové metody pro verifikaci programů pracujících s neomezenými celočíslenými proměnnými, konkrétně metody pro analýzu dosažitelnosti a~konečnosti. Většina těchto metod je založena na akceleračních technikách, které počítají tranzitivní uzávěry cyklů programu. V práci je nejprve představen algoritmus pro akceleraci několika tříd celočíselných relací. Tento algoritmus je až o čtyři řády rychlejší než existující techniky. Z teoretického hlediska práce dokazuje, že uvažované třídy relací jsou periodické a~poskytuje tudíž jednotné řešení prolému akcelerace. Práce dále představuje semi-algoritmus pro analýzu dosažitelnosti celočíselných programů, který sleduje relace mezi proměnnými programu a~aplikuje akcelerační techniky za účelem modulárního výpočtu souhrnů procedur. Dále je v práci navržen alternativní algoritmus pro analýzu dosažitelnosti, který integruje predikátovou abstrakci s accelerací s cílem zvýšit pravděpodobnost konvergence výpočtu. Provedené experimenty ukazují, že oba algoritmy lze úspěšně aplikovat k verifikaci programů, na kterých předchozí metody selhávaly. Práce se rovněž zabývá problémem konečnosti běhu programů a~dokazuje, že tento problém je rozhodnutelný pro několik tříd celočíselných relací. Pro některé z těchto tříd relací je v práci navržen algoritmus, který v polynomiálním čase vypočítá množinu všech konfigurací programu, z nichž existuje nekonečný běh. Tento algoritmus je integrován do metody, která analyzuje konečnost běhů celočíselných programů. Efektivnost této metody je demonstrována na několika netriviálních celočíselných programech. | en |
dc.description.abstract | This work presents novel methods for verification of reachability and termination properties of programs that manipulate unbounded integer data. Most of these methods are based on acceleration techniques which compute transitive closures of program loops. We first present an algorithm that accelerates several classes of integer relations and show that the new method performs up to four orders of magnitude better than the previous ones. On the theoretical side, our framework provides a common solution to the acceleration problem by proving that the considered classes of relations are periodic. Subsequently, we introduce a semi-algorithmic reachability analysis technique that tracks relations between variables of integer programs and applies the proposed acceleration algorithm to compute summaries of procedures in a modular way. Next, we present an alternative approach to reachability analysis that integrates predicate abstraction with our acceleration techniques to increase the likelihood of convergence of the algorithm. We evaluate these algorithms and show that they can handle a number of complex integer programs where previous approaches failed. Finally, we study the termination problem for several classes of program loops and show that it is decidable. Moreover, for some of these classes, we design a polynomial time algorithm that computes the exact set of program configurations from which nonterminating runs exist. We further integrate this algorithm into a semi-algorithmic method that analyzes termination of integer programs, and show that the resulting technique can verify termination properties of several non-trivial integer programs. | cs |
dc.description.mark | P | cs |
dc.identifier.citation | KONEČNÝ, F. Relační verifikace programů s celočíselnými daty [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. . | cs |
dc.identifier.other | 99808 | cs |
dc.identifier.uri | http://hdl.handle.net/11012/63265 | |
dc.language.iso | en | cs |
dc.publisher | Vysoké učení technické v Brně. Fakulta informačních technologií | cs |
dc.rights | Standardní licenční smlouva - přístup k plnému textu bez omezení | cs |
dc.subject | programy s celočíselnými daty | en |
dc.subject | čítačové automaty | en |
dc.subject | analýza dosažitelnosti | en |
dc.subject | analýza konečnosti | en |
dc.subject | akcelerace | en |
dc.subject | tranzitivní uzávěry | en |
dc.subject | souhrny procedur | en |
dc.subject | rekurentní množiny | en |
dc.subject | vstupní podmínky pro konečnost | en |
dc.subject | programs with integers | cs |
dc.subject | counter automata | cs |
dc.subject | reachability analysis | cs |
dc.subject | termination analysis | cs |
dc.subject | acceleration | cs |
dc.subject | transitive closures | cs |
dc.subject | procedure summaries | cs |
dc.subject | recurrent sets | cs |
dc.subject | termination preconditions | cs |
dc.title | Relační verifikace programů s celočíselnými daty | en |
dc.title.alternative | Relational Verification of Programs with Integer Data | cs |
dc.type | Text | cs |
dc.type.driver | doctoralThesis | en |
dc.type.evskp | dizertační práce | cs |
dcterms.modified | 2020-05-10-17:46:41 | cs |
eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
sync.item.dbid | 99808 | en |
sync.item.dbtype | ZP | en |
sync.item.insts | 2025.03.27 12:11:40 | en |
sync.item.modts | 2025.01.17 10:38:39 | en |
thesis.discipline | Výpočetní technika a informatika | cs |
thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémů | cs |
thesis.level | Doktorský | cs |
thesis.name | Ph.D. | cs |
Files
Original bundle
1 - 5 of 6
Loading...
- Name:
- final-thesis.pdf
- Size:
- 1.32 MB
- Format:
- Adobe Portable Document Format
- Description:
- final-thesis.pdf
Loading...
- Name:
- thesis-1.pdf
- Size:
- 263.45 KB
- Format:
- Adobe Portable Document Format
- Description:
- thesis-1.pdf
Loading...
- Name:
- Posudek-Vedouci prace-300_s1.pdf
- Size:
- 2.18 MB
- Format:
- Adobe Portable Document Format
- Description:
- Posudek-Vedouci prace-300_s1.pdf
Loading...
- Name:
- Posudek-Oponent prace-300_o1.pdf
- Size:
- 494.23 KB
- Format:
- Adobe Portable Document Format
- Description:
- Posudek-Oponent prace-300_o1.pdf
Loading...
- Name:
- Posudek-Oponent prace-300_o2.pdf
- Size:
- 2.22 MB
- Format:
- Adobe Portable Document Format
- Description:
- Posudek-Oponent prace-300_o2.pdf