-
题名指针类型递归函数前后形状图的自动推断
被引量:3
- 1
-
-
作者
宋艳辉
李兆鹏
陈意云
-
机构
中国科学技术大学计算机科学与技术学院
中国科学科技大学苏州研究院软件安全实验室
-
出处
《小型微型计算机系统》
CSCD
北大核心
2014年第4期759-764,共6页
-
基金
国家自然科学基金项目(61170018
61003043
61229201)资助
-
文摘
在一个基于形状图逻辑的自动程序验证原型系统上,设计与实现了指针类型递归函数前后形状图的自动推断方法.该方法类似于循环不变形状图的推断方法,区别在于它首先沿着函数的非递归路径,从函数入口的函数前形状图推断函数出口的函数后形状图的初值,然后沿着函数的递归路径对函数后形状图进行迭代求解.本文还设计了上述自动推断方法中需要用到的形状图之间蕴涵关系的判定方法.本文方法使得原型系统扩展到能够自动验证指针类型的递归函数.
-
关键词
程序验证
形状图逻辑
形状分析
递归函数
不变式的自动推断
-
Keywords
program verification
shape graph logic
shape analysis
recursive functions
invariant inference
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名一个C语言子集上的程序逻辑
被引量:1
- 2
-
-
作者
王勇朝
李兆鹏
冯新宇
-
机构
中国科学技术大学计算机科学与技术学院
中国科学科技大学苏州研究院软件安全实验室
-
出处
《小型微型计算机系统》
CSCD
北大核心
2014年第6期1258-1264,共7页
-
基金
国家自然科学基金项目(61073040
61170018
61003043)资助
-
文摘
在分离逻辑和C语言规范的基础上,设计一个C语言子集C3(C Code Certified)上的程序逻辑,其由操作语义、推导规则和可靠性证明组成.操作语义采用了小步的方式,为并发程序的验证留下了扩展的可能性.推导规则采用了扩展Hoare三元组的形式,易于程序员的理解,支持了更多的C语言特征.证明可靠性需要在语义上定义推导规则,本文采用了广为接受的直接定义方式,本文可靠性的证明在Coq中实现,并提供了一份可以通过机器自动检查的证明,保证了逻辑的可信度.证明实例展示了程序逻辑的可用性,程序验证工具可以直接使用C3的推导规则,简化验证的过程.
-
关键词
C语言
小步语义
程序逻辑
可靠性
形式化验证
-
Keywords
C language
small-step semantics
program logic
soundness
formal verification
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-