【24h】

Computing Program Reliability using Forward-Backward Precondition Analysis and Model Counting

机译:使用前后条件分析和模型计数来计算程序可靠性

获取原文

摘要

The goal of probabilistic static analysis is to quantify the probability that a given program satisfies/violates a required property (assertion). In this work, we use a static analysis by abstract interpretation and model counting to construct probabilistic analysis of deterministic programs with uncertain input data, which can be used for estimating the probabilities of assertions (program reliability). In particular, we automatically infer necessary preconditions in order a given assertion to be satisfied/violated at run-time using a combination of forward and backward static analyses. The focus is on numeric properties of variables and numeric abstract domains, such as polyhedra. The obtained preconditions in the form of linear constraints are then analyzed to quantify how likely is an input to satisfy them. Model counting techniques are employed to count the number of solutions that satisfy given linear constraints. These counts are then used to assess the probability that the target assertion is satisfied/violated. We also present how to extend our approach to analyze non-deterministic programs by inferring sufficient preconditions. We built a prototype implementation and evaluate it on several interesting examples.
机译:概率静态分析的目标是量化给定程序满足/违反所需属性(断言)的概率。在这项工作中,我们通过抽象解释和模型计数使用静态分析来构建具有不确定输入数据的确定性程序的概率分析,可用于估计断言的概率(程序可靠性)。特别地,我们使用前向和后向静态分析的组合,自动推断必要的前提条件,以便在运行时满足/违反给定的断言。重点是变量和数字抽象域的数字属性,例如多面体。然后分析以线性约束形式获得的前提条件,以量化输入满足这些条件的可能性。采用模型计数技术对满足给定线性约束的解的数量进行计数。然后将这些计数用于评估满足/违反目标声明的可能性。我们还介绍了如何通过推断足够的前提条件来扩展分析非确定性程序的方法。我们构建了一个原型实现,并通过几个有趣的示例对其进行了评估。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号