主页期刊介绍编委会编辑部服务介绍道德声明在线审稿编委办公编辑办公English
2018-2019年专刊出版计划 微信服务介绍 最新一期:2018年第12期
     
在线出版
各期目录
纸质出版
分辑系列
论文检索
论文排行
综述文章
专刊文章
美文分享
各期封面
E-mail Alerts
RSS
旧版入口
中国科学院软件研究所
  
投稿指南 问题解答 下载区 收费标准 在线投稿
翟娟,汤震浩,李彬,赵建华,李宣东.常用循环摘要的自动生成方法及其应用.软件学报,2017,28(5):1051-1069
常用循环摘要的自动生成方法及其应用
Automatic Approach of Generating Summaries for Common Loops and Its Application
投稿时间:2016-07-15  修订日期:2016-09-25
DOI:10.13328/j.cnki.jos.005211
中文关键词:  循环摘要  循环不变式  前置条件  后置条件  程序验证
英文关键词:loop summary  loop invariant  precondition  post-condition  program verification
基金项目:国家自然科学基金(61632015,61561146394);国家重点研发计划(2016YFB1000802)
作者单位E-mail
翟娟 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023
南京大学 软件学院, 江苏 南京 210023 
 
汤震浩 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023
南京大学 计算机科学与技术系, 江苏 南京 210023 
 
李彬 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023
南京大学 计算机科学与技术系, 江苏 南京 210023 
 
赵建华 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023
南京大学 计算机科学与技术系, 江苏 南京 210023 
zhaojh@nju.edu.cn 
李宣东 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023
南京大学 计算机科学与技术系, 江苏 南京 210023 
 
摘要点击次数: 1337
全文下载次数: 940
中文摘要:
      采用形式化方法证明软件的正确性,是保障软件可靠性的有效方法.而对循环语句的分析与验证,是形式化证明中的关键,对循环语句的处理一直是程序分析与验证中的一个难点问题.提出使用循环语句修改的内存和这些内存中存放的新值来描述循环语句的执行效果,并将该执行效果定义为循环摘要.同时,提出一种自动生成循环摘要的方法,可以为操作常用数据结构的循环自动生成循环摘要,包含嵌套循环.此外,基于循环摘要,可以自动生成循环语句的规约,包括循环不变式、循环的前置条件以及循环的后置条件.已经实现了自动生成循环摘要以及循环规约的方法,并将它们集成到验证工具Accumulator中.实验结果表明,该方法可以有效地生成循环摘要,并生成多种类型的规约,从而辅助软件程序的形式化证明,提高验证的自动化程度和效率,减轻验证人员的负担.
英文摘要:
      Formal verification is an effective method to guarantee software reliability by proving the correctness of a program. Analyzing and verifying loops which are important and frequently-used statements is not only vital for formal verification, but also a hot topic in the research area of software development. This paper proposes using memories modified by a loop and new values stored in these memories after executing the loop to describe the execution effect of the loop. Such execution effect is defined as loop summary. In addition, this paper proposes an approach to automatically synthesize loop summaries for loops manipulating commonly-used data structures, including nested loops. Based on loop summaries, specifications can be generated automatically, including loop invariants, preconditions and post-conditions of loops. The proposed approach is implemented and integrated into the code-verification tool Accumulator. The approach is also evaluated with a variety of programs, and the results show that it is able to generate loop summaries and different kinds of specifications, therefore helping to ease the verification task by reducing the burden for programmers and improving the automatic level and efficiency.
HTML  下载PDF全文  查看/发表评论  下载PDF阅读器
 

京公网安备 11040202500064号

主办单位:中国科学院软件研究所 中国计算机学会
编辑部电话:+86-10-62562563 E-mail: jos@iscas.ac.cn
Copyright 中国科学院软件研究所《软件学报》版权所有 All Rights Reserved
本刊全文数据库版权所有,未经许可,不得转载,本刊保留追究法律责任的权利