【24h】

Automatic Inference of Necessary Preconditions

机译:自动推论必要的前提条件

获取原文

摘要

We consider the problem of automatic precondition inference. We argue that the common notion of sufficient precondition inference (i.e., under which precondition is the program correct?) imposes too large a burden on callers, and hence it is unfit for automatic program analysis. Therefore, we define the problem of necessary precondition inference (i.e., under which precondition, if violated, will the program always be incorrect?). We designed and implemented several new abstract interpretation-based analyses to infer atomic, disjunctive, universally and existentially quantified necessary preconditions. We experimentally validated the analyses on large scale industrial code. For unannotated code, the inference algorithms find necessary preconditions for almost 64% of methods which contained warnings. In 27% of these cases the inferred preconditions were also sufficient, meaning all warnings within the method body disappeared. For annotated code, the inference algorithms find necessary preconditions for over 68% of methods with warnings. In almost 50% of these cases the preconditions were also sufficient. Overall, the precision improvement obtained by precondition inference (counted as the additional number of methods with no warnings) ranged between 9% and 21%.
机译:我们考虑自动前提推断的问题。我们认为,足够的前提推理的共同概念(即,在哪个先决条件下是正确的?)对呼叫者来说施加过大的负担,因此它不适用于自动计划分析。因此,我们定义了必要的前提推点的问题(即,在哪个前提下,如果违反的话,程序将始终不正确?)。我们设计并实施了几种基于新的抽象解释的分析,以推断出原子,分离,普遍和存在量化的必要前提条件。我们通过实验验证了大规模工业代码的分析。对于未经发布的代码,推理算法为近64%的方法找到了必要的前提条件。在这些情况的27%中,推断的前提条件也足够,这意味着方法体内的所有警告都消失了。对于注释代码,推理算法为超过68%的警告找到了必要的前提条件。在这些情况的近50%中,前提条件也足够了。总的来说,通过前提推理获得的精度改善(计数为没有警告的额外方法),范围为9%至21%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号