期刊文献+

一维数组程序的形式验证

Formal Verification of One-dimensional Array Programs
下载PDF
导出
摘要 在一个类C小语言Pointer C的程序验证器原型的实现中,设计并实现了对一维数组元素进行赋值的语句的推理规则.该推理规则是Hoare逻辑推理规则的扩展,保证了断言演算中全称量词的合法性,适用于操作数组的程序断言中使用全称量词的情况.然后以冒泡排序程序和用数组实现二叉堆删除程序等操作一维数组的程序的验证为例,展示了该规则设计和实现的正确性,该规则的运用以及循环不变式的书写经验. This paper proposes a series of inference rules for assignment statement of array elements, which is an expansion of Hoare logaic, guarantee the legality of universal quantifier and can be used on assertions with universal quantifier. And this paper presents the correctness of the inference rules, the application of the rules and the experience of writing invadants, with examples such as bubblesort and array-based binary heap.
出处 《小型微型计算机系统》 CSCD 北大核心 2015年第5期1002-1006,共5页 Journal of Chinese Computer Systems
基金 国家自然科学基金项目(61170018 61229201)资助
关键词 程序验证 循环不变式 推理规则 全称量词 断言演算 program verification loop invariant inference rules universal quantifier assertion calculus
  • 相关文献

参考文献4

二级参考文献81

  • 1Hoare C A R. An axiomatic basis for computer programming [J]. Communications of the ACM, 1969, 12(10):576-585.
  • 2Paulson L C. Isabelle~ A Generic Theorem Prover [M]. Berlin: Springer, 1994:1-300.
  • 3The Coq Development Team. The Coq proof assistant reference manual, Version 8.2 lOLl. [2009-08-01]. http: //coq. inria, fr.
  • 4Aleksandar N, Morrisett G, Sbinnar A, et al. Ynot: Dependent types for imperative programs [C] //Proe of the 13th ACM SIGPLAN Int Conf on Functional Programming (ICFP'08). New York: ACM, 2008:229-240.
  • 5Barnett M, Rustan M, Leino M, et al. The spec programming system, An overview [G] //LNCS 3362: Proc of Int Workshop Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (CASSIS 2004). Berlin: Springer, 2004: 49-69.
  • 6Flanagan C, Leino K R M, Lillibridge M, et al. Extended static checking for Java [C] //Proc of the Conf on Programming Language Design and Implementation (PLDI'02). New York. ACM, 2002: 234-245.
  • 7Berdine J, Calcagno C, O'Hearn P W. Smallfoot: Modular automatic assertion checking with separation logic [G] // LNCS 4111~ Proc of Formal Methods for Components and Objects(FMCO 2005). Berlin: Springer, 2005:115-137.
  • 8Distefano D, Parkinson M J. jStar: Towards practical verification for Java [C] //Proc of ACM SIGPLAN Int Conf on Object-Oriented Programming, Systems, Languages, and Applications(OOPSLA 2008). New York: ACM, 2008: 213-226.
  • 9Carter G, Monahan R, Morris J M. Software refinement with perfect developer [C] //Proc of the 3rd IEEE Int Conf on Software Engineering and Formal Methods(SEFM 2005). Piscataway, NJ: IEEE, 2005:363-372.
  • 10Reynolds J C. Separation logic: A logic for shared mutable data structures [C] //Proc of the 17th Annual IEEE Symp on Logic in Computer Science (LICS 2002). Piscataway, NJ: IEEE, 2002:55-74.

共引文献12

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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