A novel data-driven approach on inferring loop invariants for C programs

IF 1.7 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Journal of Computer Languages Pub Date : 2022-08-01 DOI:10.1016/j.cola.2022.101135
Hong Lu , Huitao Wang , Jiacheng Gui , Panfeng Chen , Hao Huang
{"title":"A novel data-driven approach on inferring loop invariants for C programs","authors":"Hong Lu ,&nbsp;Huitao Wang ,&nbsp;Jiacheng Gui ,&nbsp;Panfeng Chen ,&nbsp;Hao Huang","doi":"10.1016/j.cola.2022.101135","DOIUrl":null,"url":null,"abstract":"<div><p><span>Inspired by the procedure that experts construct loop invariants, we propose a novel data-driven approach to automatically infer loop invariants. The approach consists of two phases, data-driven inference of candidate invariants and validity check of loop invariants. Inspired by the procedure that experts construct loop invariants, we propose a novel data-driven approach to automatically infer loop invariants for C programs. The approach consists of two phases, data-driven inference of candidate invariants and validity check of loop invariants. The first phase generates candidate invariants by solving </span>polynomial equations and synthesizing the extended loop conditions. The second phase prunes out spurious predicates and redundant predicates in the candidate invariants. The experimental results demonstrate that the proposed approach generates valid invariants for 35 benchmarks out of 38. The proposed approach costs less time to generate more informative and precise invariants than the state-of-the-art methods.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"71 ","pages":"Article 101135"},"PeriodicalIF":1.7000,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computer Languages","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2590118422000363","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

Inspired by the procedure that experts construct loop invariants, we propose a novel data-driven approach to automatically infer loop invariants. The approach consists of two phases, data-driven inference of candidate invariants and validity check of loop invariants. Inspired by the procedure that experts construct loop invariants, we propose a novel data-driven approach to automatically infer loop invariants for C programs. The approach consists of two phases, data-driven inference of candidate invariants and validity check of loop invariants. The first phase generates candidate invariants by solving polynomial equations and synthesizing the extended loop conditions. The second phase prunes out spurious predicates and redundant predicates in the candidate invariants. The experimental results demonstrate that the proposed approach generates valid invariants for 35 benchmarks out of 38. The proposed approach costs less time to generate more informative and precise invariants than the state-of-the-art methods.

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
推导C程序循环不变量的一种新的数据驱动方法
受专家构造循环不变量过程的启发,我们提出了一种新的数据驱动方法来自动推断循环不变量。该方法包括两个阶段,候选不变量的数据驱动推理和循环不变量的有效性检查。受专家构造循环不变量过程的启发,我们提出了一种新的数据驱动方法来自动推断C程序的循环不变量。该方法包括两个阶段,候选不变量的数据驱动推理和循环不变量的有效性检查。第一阶段通过求解多项式方程和合成扩展循环条件来生成候选不变量。第二阶段删除候选不变量中的伪谓词和冗余谓词。实验结果表明,该方法为38个基准点中的35个基准点生成了有效的不变量。与最先进的方法相比,所提出的方法生成信息量更大、精度更高的不变量所花费的时间更少。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Journal of Computer Languages
Journal of Computer Languages Computer Science-Computer Networks and Communications
CiteScore
5.00
自引率
13.60%
发文量
36
期刊最新文献
Combining type inference techniques for semi-automatic UML generation from Pharo code Editorial Board An efficient instance selection algorithm for fast training of support vector machine for cross-project software defect prediction pairs Detection and treatment of string events in the limit ClangOz: Parallel constant evaluation of C++ map and reduce operations
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1