ABSTRACT
Probabilistic software analysis aims at quantifying how likely a target event is to occur, given a probabilistic characterization of the behavior of a program or of its execution environment. Examples of target events may include an uncaught exception, the invocation of a certain method, or the access to confidential information.We are working on a symbolic execution approach to probabilistic software analysis that first computes the conditions to reach the target event, and then tries to quantify the fraction of the input domain satisfying these conditions. Unlike past approaches, that were mostly performed at model level, and were thus only applicable to early software design stages or required explicit (and hard to maintain) abstraction from the code, our techniques are performed directly at the code level. Our techniques are built on top of the Symbolic PathFinder symbolic execution tool. We discuss applications to the analysis of Unmanned Aerial Systems developed at NASA Ames.
Index Terms
- On the probabilistic analysis of software (invited talk abstract)
Recommendations
Towards Probabilistic Formal Analysis of SATS-Simultaneously Moving Aircraft (SATS-SMA)
The objective of NASA's Small Aircraft Transportation System (SATS) Concept of Operations (ConOps) is to facilitate high volume operation of advanced small aircraft operating in non-towered, non-radar airports. This system can provide improved and ...
Probabilistic Formal Verification of the SATS Concept of Operation
NFM 2016: Proceedings of the 8th International Symposium on NASA Formal Methods - Volume 9690The objective of NASA's Small Aircraft Transportation System SATS Concept of Operations ConOps is to facilitate High Volume Operation HVO of advanced small aircraft operating in non-towered non-radar airports. Given the safety-critical nature of SATS, ...
Symbolic parallel adaptive importance sampling for probabilistic program analysis
ESEC/FSE 2021: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software EngineeringProbabilistic software analysis aims at quantifying the probability of a target event occurring during the execution of a program processing uncertain incoming data or written itself using probabilistic programming constructs. Recent techniques combine ...
Comments