NASA NTRS · 20150000116
Exact and Approximate Probabilistic Symbolic Execution
Abstract
Probabilistic software analysis seeks to quantify the likelihood of reaching a target event under uncertain environments. Recent approaches compute probabilities of execution paths using symbolic execution, but do not support nondeterminism. Nondeterminism arises naturally when no suitable probabilistic model can capture a program behavior, e.g., for multithreading or distributed systems. In this work, we propose a technique, based on symbolic execution, to synthesize schedulers that resolve nondeterminism to maximize the probability of reaching a target event. To scale to large systems, we also introduce approximate algorithms to search for good schedulers, speeding up established random sampling and reinforcement learning results through the quantification of path probabilities based on symbolic execution. We implemented the techniques in Symbolic PathFinder and evaluated them on nondeterministic Java programs. We show that our algorithms significantly improve upon a state-of- the-art statistical model checking algorithm, originally developed for Markov Decision Processes.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Luckow, Kasper, Pasareanu, Corina S., Dwyer, Matthew B., Filieri, Antonio, Visser, Willem. 2014-09-15. Exact and Approximate Probabilistic Symbolic Execution. https://ntrs.nasa.gov/citations/20150000116
Cite the original work for its findings. Save a collection to share your selection of sources.