D 2021

Backward Symbolic Execution with Loop Folding

CHALUPA, Marek and Jan STREJČEK

Basic information

Original name

Backward Symbolic Execution with Loop Folding

Authors

CHALUPA, Marek (203 Czech Republic, guarantor, belonging to the institution) and Jan STREJČEK (203 Czech Republic, belonging to the institution)

Edition

Cham (Switzerland), Static Analysis - 28th International Symposium, SAS 2021, Chicago, IL, USA, October 17-19, 2021, Proceedings, p. 49-76, 28 pp. 2021

Publisher

Springer

Other information

Language

English

Type of outcome

Stať ve sborníku

Field of Study

10200 1.2 Computer and information sciences

Country of publisher

Switzerland

Confidentiality degree

není předmětem státního či obchodního tajemství

Publication form

electronic version available online

References:

Impact factor

Impact factor: 0.402 in 2005

RIV identification code

RIV/00216224:14330/21:00122663

Organization unit

Faculty of Informatics

ISBN

978-3-030-88805-3

ISSN

UT WoS

000720084200003

Keywords in English

symbolic execution;k-induction;backward symbolic execution;inductive invariants;invariants

Tags

International impact, Reviewed
Změněno: 23/5/2022 15:01, RNDr. Pavel Šmerk, Ph.D.

Abstract

V originále

Symbolic execution is an established program analysis tech- nique that aims to search all possible execution paths of the given pro- gram. 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 backwards 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 is called backward symbolic execution with loop folding (BSELF). Our experiments show that BSELF performs better than BSE and other tools based on k-induction when non-trivial benchmarks are considered. Moreover, a sequential combination of symbolic execution and BSELF achieved very competitive results compared to state-of-the-art verification tools.

Links

MUNI/A/1108/2020, interní kód MU
Name: Rozsáhlé výpočetní systémy: modely, aplikace a verifikace X. (Acronym: SV-FI MAV X.)
Investor: Masaryk University
MUNI/A/1549/2020, interní kód MU
Name: Zapojení studentů Fakulty informatiky do mezinárodní vědecké komunity 21 (Acronym: SKOMU)
Investor: Masaryk University