Deterministic state space exploration

Abstract Symbolic execution is a very active research area due to its automatic test-case generation, bug finding, and many more applications. Despite the many recent proposals for improvements, we find it hard to quantify how state-of-the-art progresses. One reason is the variety of programming languages, features, and symbolic execution engines to support them. Still, even if we compare a single symbolic execution engine ( A ) and the same engine with some modifications ( A* ) and run the implementations with the same benchmarks, reasoning about the actual cause of the differences between them is complex. While artefacts (here benchmarks, measurements, data, and implementation) provide an invaluable base for reproducible research, the implementation itself is often treated as a black box. Changes in behaviour between two implementations are quantified based on the coarse-grain difference in benchmark behaviour, i.e. changed code coverage or execution time. We propose a complementing fine-grain approach that helps to understand implementations far better — not only supporting reproducible research, but also supporting the development of the implementation in the first place. In this paper, we analyse KLEE, a well-established symbolic execution engine for C and C ++ , and identify significant challenges that make evaluating and comparing different implementations hard. We identify implementation-specific reasons for KLEE that can often be transferred to other symbolic execution engines and present ways to fix them. We propose Deterministic State-Space Exploration as one technique that helps to quantify and validate incremental improvements of symbolic execution engines.

Authors

Institutions

Publication Details

Journal
International Journal on Software Tools for Technology Transfer
Published
2025-05-26
DOI
https://doi.org/10.1007/s10009-025-00809-x
Citations
1
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
2.31

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Deterministic state space exploration

Martin Nowack
1 citations
International Journal on Software Tools for Technology Transfer
Software Testing and Debugging Techniques
2.31
article

Deterministic state space exploration

Martin Nowack
article en
1 citations

Abstract

Abstract Symbolic execution is a very active research area due to its automatic test-case generation, bug finding, and many more applications. Despite the many recent proposals for improvements, we find it hard to quantify how state-of-the-art progresses. One reason is the variety of programming languages, features, and symbolic execution engines to support them. Still, even if we compare a single symbolic execution engine ( A ) and the same engine with some modifications ( A* ) and run the implementations with the same benchmarks, reasoning about the actual cause of the differences between them is complex. While artefacts (here benchmarks, measurements, data, and implementation) provide an invaluable base for reproducible research, the implementation itself is often treated as a black box. Changes in behaviour between two implementations are quantified based on the coarse-grain difference in benchmark behaviour, i.e. changed code coverage or execution time. We propose a complementing fine-grain approach that helps to understand implementations far better — not only supporting reproducible research, but also supporting the development of the implementation in the first place. In this paper, we analyse KLEE, a well-established symbolic execution engine for C and C ++ , and identify significant challenges that make evaluating and comparing different implementations hard. We identify implementation-specific reasons for KLEE that can often be transferred to other symbolic execution engines and present ways to fix them. We propose Deterministic State-Space Exploration as one technique that helps to quantify and validate incremental improvements of symbolic execution engines.

International Journal on Software Tools for Technology TransferVol. 27(4)
Imperial College London (GB)
European Commission
Openalex Percentile: Top 14%
Software Testing and Debugging Techniques
2.31
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.