期刊文献+

含有析取语义循环的不变式生成改进方法 被引量:4

Improving Invariant Generation for Loops Containing Disjunctive Semantics
下载PDF
导出
摘要 抽象解释为程序不变式的自动化生成提供了通用的框架,但是该框架下的大多数已有数值抽象域只能表达几何上是凸的约束集.因此,对于包含(所对应的约束集是非凸的)析取语义的特殊程序结构,采用传统数值抽象域会导致分析结果不精确.针对显式和隐式含有析取语义的循环结构,提出了基于循环分解和归纳推理的不变式生成改进方法,缓解了抽象解释分析中出现的语义损失问题.实验结果表明:相比已有方法,该方法能为这种包含析取语义的循环结构生成更加精确的不变式,并且有益于一些安全性质的推理. interpretation provides a general framework to generate program invariants automatically. However, most existing numerical abstract domains under this framework can only express constraint sets that are geometrically convex. Therefore, using convex abstract domains to analyze special program structures involving disjunctive semantics(whose constraint sets are non-convex) may lead to imprecise results. This paper presents a novel approach based on loop decomposition and deduction to improve invariant generation for loop structures with explicit and implicit disjunctive semantics. This approach can alleviate the problem of great semantic loss during abstract interpretation of loop structures with disjunctive semantics. Compared with existing approaches, experimental results show that the presented approach can generate more precise invariants for loop structures involving disjunctive semantics, which is also helpful for reasoning about certain security properties.
出处 《软件学报》 EI CSCD 北大核心 2016年第7期1741-1756,共16页 Journal of Software
基金 国家自然科学基金(61170070 61572248 61431008 61321491) 国家科技支撑计划(2012BAK26B01) 国家高技术研究发展计划(863)(2011AA1A202)~~
关键词 抽象解释 抽象域 不变式 析取语义 循环分解 abstract interpretation abstract domain invariant disjunctive semantics loop decomposition
  • 相关文献

参考文献1

二级参考文献20

  • 1姬孟洛,王怀民,李梦君,董威,齐治昌.一种基于抽象解释和通用单调数据流框架的值范围分析方法[J].计算机研究与发展,2006,43(11):2020-2026. 被引量:10
  • 2Harrison W H. Compiler analysis of the value ranges for variables. IEEE Transactions on Software Engineering, 1977, 3(3): 243 -250.
  • 3Simon A. Value-Range Analysis of C Programs: Towards Proving the Absence of Buffer Overflow Vulnerabilities. Berlin: Springer, 2008.
  • 4Cousot P, Cousot R. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints//Proceedings of the 4th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'77). Los Angeles, California, USA, 1977:238-252.
  • 5Cousot P, Cousot R. Static determination of dynamic properties of programs//Proceedings of the 2nd International Symposium on Programming, Paris, France, 1976:106-130.
  • 6Blanchet B, Cousot P, Cousot R, Feret J, Mauborgne L, Mine A, Monniaux D, Rival X. A static analyzer for large safety-critical software//Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI' 03). San Diego, California, USA, 2003:196-207.
  • 7Cousot P, Halbwachs N. Automatic discovery of linear restraints among variables of a program//Proceedings of the 5th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL' 78). Tucson, Arizona, USA, 1978:84- 97.
  • 8Mine A. The octagon abstract domain. Higher-Order and Symbolic Computation, 2006, 19(1): 31-100.
  • 9Mine A. Symbolic methods to enhance the precision of numerical abstract domains//Proceedings of the 7th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI ' 06). Charleston, South Carolina, USA, 2006:348-363.
  • 10Chen L, Mine A, Cousot P. A sound floating-point polyhedra abstract domain//Proceedings of the 6th Asian Symposium on Programming Languages and Systems (APLAS' 08). Bangalore, India, 2008: 3-18.

共引文献9

同被引文献45

引证文献4

二级引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部