TU Darmstadt / ULB / TUbiblio

A New Invariant Rule for the Analysis of Loops with Non-standard Control Flows

Steinhöfel, Dominic ; Wasser, Nathan
Hrsg.: Polikarpova, Nadia ; Schneider, Steve (2017)
A New Invariant Rule for the Analysis of Loops with Non-standard Control Flows.
doi: 10.1007/978-3-319-66845-1
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Invariants are a standard concept for reasoning about unbounded loops since Floyd-Hoare logic in the late 1960s. For real-world languages like Java, loop invariant rules tend to become extremely complex. The main reason is non-standard control flow induced by return, throw, break, and continue statements, possibly combined and nested inside inner loops and try blocks. We propose the concept of a loop scope which gives rise to a new approach for the design of invariant rules. This permits “sandboxed” deduction-based symbolic execution of loop bodies which in turn allows a modular analysis even of complex loops. Based on the new concept we designed a loop invariant rule for Java that has full language coverage and implemented it in the program verification system KeY. Its main advantages are (1) much increased comprehensibility, which made it considerably easier to argue for its soundness, (2) simpler and easier to understand proof obligations, (3) a substantially decreased number of symbolic execution steps and sizes of resulting proofs in a representative set of experiments. We also show that the new rule, in combination with fully automatic symbolic state merging, realizes even greater proof size reduction and helps to address the state explosion problem of symbolic execution.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2017
Herausgeber: Polikarpova, Nadia ; Schneider, Steve
Autor(en): Steinhöfel, Dominic ; Wasser, Nathan
Art des Eintrags: Bibliographie
Titel: A New Invariant Rule for the Analysis of Loops with Non-standard Control Flows
Sprache: Deutsch
Publikationsjahr: September 2017
Verlag: Springer
Buchtitel: Integrated Formal Methods - 13th International Conference, IFM 2017, Turin, Italy, September 20-22, 2017, Proceedings
Reihe: Lecture Notes in Computer Science
Band einer Reihe: 10510
DOI: 10.1007/978-3-319-66845-1
Kurzbeschreibung (Abstract):

Invariants are a standard concept for reasoning about unbounded loops since Floyd-Hoare logic in the late 1960s. For real-world languages like Java, loop invariant rules tend to become extremely complex. The main reason is non-standard control flow induced by return, throw, break, and continue statements, possibly combined and nested inside inner loops and try blocks. We propose the concept of a loop scope which gives rise to a new approach for the design of invariant rules. This permits “sandboxed” deduction-based symbolic execution of loop bodies which in turn allows a modular analysis even of complex loops. Based on the new concept we designed a loop invariant rule for Java that has full language coverage and implemented it in the program verification system KeY. Its main advantages are (1) much increased comprehensibility, which made it considerably easier to argue for its soundness, (2) simpler and easier to understand proof obligations, (3) a substantially decreased number of symbolic execution steps and sizes of resulting proofs in a representative set of experiments. We also show that the new rule, in combination with fully automatic symbolic state merging, realizes even greater proof size reduction and helps to address the state explosion problem of symbolic execution.

ID-Nummer: TUD-CS-2017-0251
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Software Engineering
Hinterlegungsdatum: 25 Sep 2017 15:56
Letzte Änderung: 03 Jun 2018 21:30
PPN:
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