Backward Symbolic Execution with Loop FoldingVirtual
Mon 18 Oct 2021 15:55 - 16:10 at Zurich B - Session 4B Chair(s): Kedar Namjoshi
Symbolic execution is an established program analysis technique that aims to search all possible execution paths starting in the initial program location. Due to the so-called path explosion problem, symbolic execution is usually unable to analyze all execution paths and thus it is not convenient for program verification as a standalone method. This paper focuses on backward symbolic execution (BSE), which searches program paths backward from the error location whose reachability should be proven or refuted. We show that this technique is equivalent to performing k-induction on control-flow paths. While standard BSE simply unwinds all program loops, we present an extension called loop folding that aims to derive loop invariants during BSE that are sufficient to prove the unreachability of the error location. The resulting technique called backward symbolic execution with loop folding (BSELF) can infer disjunctive loop invariants that are hard to derive for current techniques. Indeed, our experiments show that BESLF can verify some standard benchmarks that cannot be verified by state-of-the-art tools.
Mon 18 OctDisplayed time zone: Central Time (US & Canada) change
07:40 - 09:00 | |||
07:40 15mTalk | Automated Verification of the Parallel Bellman--Ford AlgorithmVirtual SAS Mohsen Safari University of Twente, The Netherlands, Wytse Oortwijn ETH Zurich, Switzerland, Marieke Huisman University of Twente | ||
07:55 15mTalk | Backward Symbolic Execution with Loop FoldingVirtual SAS | ||
08:10 15mTalk | Improving Thread-Modular Abstract InterpretationVirtual SAS Michael Schwarz Technische Universität München, Simmo Saan University of Tartu, Estonia, Helmut Seidl Technische Universität München, Kalmer Apinis University of Tartu, Estonia, Julian Erhard , Vesal Vojdani University of Tartu Pre-print Media Attached | ||
08:25 15mTalk | Symbolic Automatic Relations and Their Applications to SMT and CHC SolvingVirtual SAS Takumi Shimoda The University of Tokyo, Naoki Kobayashi University of Tokyo, Japan, Ken Sakayori The University of Tokyo, Ryosuke Sato University of Tokyo, Japan | ||
08:40 20mLive Q&A | Session 4B Discussion, Questions and Answers SAS |
15:40 - 17:00 | |||
15:40 15mTalk | Automated Verification of the Parallel Bellman--Ford AlgorithmVirtual SAS Mohsen Safari University of Twente, The Netherlands, Wytse Oortwijn ETH Zurich, Switzerland, Marieke Huisman University of Twente | ||
15:55 15mTalk | Backward Symbolic Execution with Loop FoldingVirtual SAS | ||
16:10 15mTalk | Improving Thread-Modular Abstract InterpretationVirtual SAS Michael Schwarz Technische Universität München, Simmo Saan University of Tartu, Estonia, Helmut Seidl Technische Universität München, Kalmer Apinis University of Tartu, Estonia, Julian Erhard , Vesal Vojdani University of Tartu Pre-print Media Attached | ||
16:25 15mTalk | Symbolic Automatic Relations and Their Applications to SMT and CHC SolvingVirtual SAS Takumi Shimoda The University of Tokyo, Naoki Kobayashi University of Tokyo, Japan, Ken Sakayori The University of Tokyo, Ryosuke Sato University of Tokyo, Japan | ||
16:40 20mLive Q&A | Session 4B Discussion, Questions and Answers SAS |