Exact and approximate probabilistic symbolic execution for nondeterministic programs
File(s)2014-ase.pdf (472.77 KB)
Accepted version
Author(s)
Luckow, K
P uas uareanu, CS
Dwyer, MB
Filieri, A
Visser, W
Type
Conference Paper
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.
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.
Date Issued
2014-09-15
Date Acceptance
2014-09-15
Citation
Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, 2014, pp.575-586
ISBN
978-1-4503-3013-8
Publisher
ACM
Start Page
575
End Page
586
Journal / Book Title
Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
Copyright Statement
© ACM 2014. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, http://dx.doi.org/10.1145/2642937.2643011
Source
29th ACM/IEEE International Conference on Automated Software Engineering
Publication Status
Published
Start Date
2014-09-15
Finish Date
2014-09-19
Coverage Spatial
Vasteras, Sweden