ACM SIGPLAN Notices · 2014 · 21 citations · 24 references
ComputingComputer ScienceSoftware EngineeringStatistical ComputingUncertainty QuantificationDomain AnalysisSoftware DesignSoftware ModelingSymbolic ExecutionSymbolic AnalysisSymbolic Execution Engines
Probabilistic software analysis aims at quantifying how likely a target event is to occur during program execution. Current approaches rely on symbolic execution to identify the conditions to reach the target event and try to quantify the fraction of the input domain satisfying these conditions. Precise quantification is usually limited to linear constraints, while only approximate solutions can be provided in general through statistical approaches. However, statistical approaches may fail to converge to an acceptable accuracy within a reasonable time. We present a compositional statistical approach for the efficient quantification of solution spaces for arbitrarily complex constraints over bounded floating-point domains. The approach leverages interval constraint propagation to improve the accuracy of the estimation by focusing the sampling on the regions of the input domain containing the sought solutions. Preliminary experiments show significant improvement on previous approaches both in results accuracy and analysis time.
24
Symbolic execution and program testing
James C. King · Communications of the ACM · 1976 · 3K citations · Full text
Patrice Godefroid, Nils Klarlund, Koushik Sen · 2005 · 1.5K citations
Numerical recipes: The art of scientific computing
L DAVIDROPER · Bulletin of Mathematical Biology · 1987 · 1.4K citations
The Daikon system for dynamic detection of likely invariants
Michael D. Ernst, Jeff Perkins, Philip J. Guo et al. · Science of Computer Programming · 2007 · 1.1K citations