李彬,汤震浩,翟娟,赵建华.通过抽象程序证明复杂具体程序.软件学报,2017,28(4):786-803 |
通过抽象程序证明复杂具体程序 |
Verification of Concrete Programs with Respect to Abstract Programs |
投稿时间:2016-06-20 修订日期:2016-11-26 |
DOI:10.13328/j.cnki.jos.005195 |
中文关键词: 程序证明 一致性 抽象程序 精化 分解 |
英文关键词:program verification consistency abstract program refinement decomposition |
基金项目:国家自然科学基金(61632015,61561146394);国家重点基础研究发展计划(973)(2016YFB1000802) |
|
摘要点击次数: 3099 |
全文下载次数: 1834 |
中文摘要: |
描述了证明抽象程序和具体程序满足一致性关系的方法.抽象程序使用抽象数据结构(ADTs),如set,list,map及其上的操作.具体程序使用类C语言中的类型.抽象程序和具体程序一致性证明需要用户给出抽象变量和具体变量的关系、抽象程序程序点和具体程序程序点的对应关系.基于对应关系,抽象程序和具体程序一致性证明可以分解,从而容易并可能自动证明. |
英文摘要: |
This paper presents an approach to prove that a concrete program correctly implements its corresponding abstract program. Here, an abstract program uses some abstract data types such as set, list and map, and abstract operations upon those data types. A concrete program uses the types in the C-like language. The approach presented in the paper requires to specify correspondences between the abstract program and the concrete program, including correspondences between program points and correspondences between variables. Based on the correspondences, the verification task can be divided into small subtasks that can be easily and mostly automatically verified. |
HTML 下载PDF全文 查看/发表评论 下载PDF阅读器 |