一句话:提出 SYMPAIS,结合符号执行、重要性采样与约束求解,准确估计高维相关输入下概率程序稀有事件的发生概率。
概率软件分析旨在量化程序执行期间目标事件(如关键系统故障)发生的概率。现有技术将符号执行与模型计数或解空间量化方法结合,以获得稀有事件发生概率的精确估计,但在分析具有高维、相关多元输入分布的软件时面临可扩展性与适用性限制。本文提出符号并行自适应重要性采样(SYMPAIS),一种面向符号执行所生成路径条件的新推断方法,专门处理高维且相关的输入分布。SYMPAIS 将重要性采样与约束求解相结合,能够为当前解空间量化方法无法分析的一大类约束给出精确的满足概率估计。作者在一组来自不同应用领域的问题上,将 SYMPAIS 与当前最优替代方法进行比较,展示了其通用性与性能。
Probabilistic 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 symbolic execution with model counting or solution space quantification methods to obtain accurate estimates of the occurrence probability of rare target events, such as failures in a mission-critical system. However, they face several scalability and applicability limitations when analyzing software processing with high-dimensional and correlated multivariate input distributions. In this paper, we present SYMbolic Parallel Adaptive Importance Sampling (SYMPAIS), a new inference method tailored to analyze path conditions generated from the symbolic execution of programs with high-dimensional, correlated input distributions. SYMPAIS combines results from importance sampling and constraint solving to produce accurate estimates of the satisfaction probability for a broad class of constraints that cannot be analyzed by current solution space quantification methods. We demonstrate SYMPAIS's generality and performance compared with state-of-the-art alternatives on a set of problems from different application domains.