Zacházení s datovými strukturami na haldě ve zpětné symbolické exekuci
Handling heap data structures in backward symbolic execution
dc.contributor.advisor | Ratschan Stefan | |
dc.contributor.author | Husák Robert | |
dc.date.accessioned | 2018-06-08T08:02:05Z | |
dc.date.available | 2018-06-08T08:02:05Z | |
dc.date.issued | 2018-06-08 | |
dc.identifier | KOS-587865293805 | |
dc.identifier.uri | http://hdl.handle.net/10467/76321 | |
dc.description.abstract | Cílem této práce je významně rozšířit AskTheCode, dříve vytvořený doplněk nástroje Microsoft Visual Studio, který využívá zpětnou symbolickou exekuci pro verifikaci asercí v kódu C#. Jedno z největších omezení našeho doplňku byla neschopnost analyzovat objekty na haldě a operace na nich. Pro doplnění této funkcionality jsme nejdříve začali rešerší existujících postupů, ze kterých jsme vybrali tři nejzajímavější: línou inicializaci, symbolickou inicializaci a využití teorie polí. Tyto techniky jsme důkladně analyzovali s přihlédnutím na specifické požadavky našeho nástroje. Díky jejím očekáváným výkonnostním charakteristikám jsme vybrali použití teorie polí. Tuto techniku jsme transformovali, aby ji bylo možné využít ve zpětné symbolické exekuci, včetně efektivního využití zásobníků podmínek v SMT řešičích. Na řadě příkladů v jazyce C# jsme následně ukázali korektnost této implementace. | cze |
dc.description.abstract | This thesis enhances AskTheCode, a previously created extension of Microsoft Visual Studio which uses backward symbolic execution to verify assertions in C# code. One of the biggest AskTheCode limitations was the inability to reason about heap objects and operations. In order to implement this feature, we started by surveying existing techniques. As the most promising ones were selected lazy initialization, symbolic initialization and the utilization of the theory of arrays. After an analysis driven by the specific requirements of our tool, we decided to utilize the theory of arrays, mainly due to its expected performance benefits. We transformed the technique to be usable for backward symbolic execution, utilizing assertion stacks of SMT solvers as efficiently as possible. Our solution was proven to be correct by an evaluation on several C# examples. | eng |
dc.language.iso | ENG | |
dc.publisher | České vysoké učení technické v Praze. Vypočetní a informační centrum. | cze |
dc.publisher | Czech Technical University in Prague. Computing and Information Centre. | eng |
dc.rights | A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.html | eng |
dc.rights | Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html | cze |
dc.subject | zpětná symbolická exekuce,symbolická halda,líná inicializace,symbolická inicializace,teorie polí | cze |
dc.subject | backward symbolic execution,symbolic heap,lazy initialization,symbolic initialization,theory of arrays | eng |
dc.title | Zacházení s datovými strukturami na haldě ve zpětné symbolické exekuci | cze |
dc.title | Handling heap data structures in backward symbolic execution | eng |
dc.type | diplomová práce | cze |
dc.type | master thesis | eng |
dc.date.accepted | ||
dc.contributor.referee | Tvrdík Pavel | |
theses.degree.discipline | Webové a softwarové inženýrství | cze |
theses.degree.grantor | katedra softwarového inženýrství | cze |
theses.degree.programme | Informatika | cze |
Soubory tohoto záznamu
Tento záznam se objevuje v následujících kolekcích
-
Diplomové práce - 18102 [1006]