TU Darmstadt / ULB / TUbiblio

From Trees to DAGs: A General Lattice Model for Symbolic Execution

Scheurer, Dominic (2014)
From Trees to DAGs: A General Lattice Model for Symbolic Execution.
Technische Universität Darmstadt
Masterarbeit, Bibliographie

Kurzbeschreibung (Abstract)

Symbolic Execution is a precise static program analysis technique for software testing and verification. In the course of the analysis, programs are transformed into symbolic execution trees containing up to exponentially many branches in the number of branch points. We address this so-called “path explosion problem” in the context of program verification by proposing a general lattice-based framework for join operations that allows for the merging of branches during symbolic execution. Several concrete join techniques are presented as instances of this framework and are implemented for the deductive verification system KeY . We show that our operations indeed reduce the number of states and branches significantly for certain examples, and apply a join technique to information flow analysis in a short case study to demonstrate that state joining can increase the precision of analyses in principle.

Typ des Eintrags: Masterarbeit
Erschienen: 2014
Autor(en): Scheurer, Dominic
Art des Eintrags: Bibliographie
Titel: From Trees to DAGs: A General Lattice Model for Symbolic Execution
Sprache: Englisch
Referenten: Hähnle, Reiner ; Wasser, Nathan ; Bubel, Richard
Publikationsjahr: 2014
Ort: Darmstadt
Veranstaltungsort: Darmstadt
URL / URN: https://download.hrz.tu-darmstadt.de/media/FB20/Dekanat/Publ...
Kurzbeschreibung (Abstract):

Symbolic Execution is a precise static program analysis technique for software testing and verification. In the course of the analysis, programs are transformed into symbolic execution trees containing up to exponentially many branches in the number of branch points. We address this so-called “path explosion problem” in the context of program verification by proposing a general lattice-based framework for join operations that allows for the merging of branches during symbolic execution. Several concrete join techniques are presented as instances of this framework and are implemented for the deductive verification system KeY . We show that our operations indeed reduce the number of states and branches significantly for certain examples, and apply a join technique to information flow analysis in a short case study to demonstrate that state joining can increase the precision of analyses in principle.

ID-Nummer: TUD-CS-2014-1067
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Software Engineering
Hinterlegungsdatum: 31 Dez 2016 10:40
Letzte Änderung: 06 Nov 2019 08:07
PPN:
Referenten: Hähnle, Reiner ; Wasser, Nathan ; Bubel, Richard
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen