Using Fuzzing to Help Abstract Interpretation Based Program Verification

Renjie Huang, Banghu Yin, Liqian Chen
{"title":"Using Fuzzing to Help Abstract Interpretation Based Program Verification","authors":"Renjie Huang, Banghu Yin, Liqian Chen","doi":"10.1109/QRS-C57518.2022.00133","DOIUrl":null,"url":null,"abstract":"Interpretation has been successfully applied to static analysis, by computing over-approximation of the concrete semantics of various program for many years. However, in the context of program verification, abstract interpretation is not apt to generate counter-examples when the property does not hold. Dynamic analysis is known for its ability to generate inputs to find program vulnerabilities. In this paper, we propose an method that uses fuzzing to help abstract interpretation based program verification, especially to help generating inputs that violate the target property. During the verification process, we feed the fuzzer with the necessary precondition of violating the target assertion computed by abstract interpretation, and then run the fuzzer to generate inputs satisfying the necessary precondition but violating the target assertion. The result shows promising ability of our approach in generating counter-example for target property in comparison with other state-of-the-art tools.","PeriodicalId":183728,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE 22nd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QRS-C57518.2022.00133","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Interpretation has been successfully applied to static analysis, by computing over-approximation of the concrete semantics of various program for many years. However, in the context of program verification, abstract interpretation is not apt to generate counter-examples when the property does not hold. Dynamic analysis is known for its ability to generate inputs to find program vulnerabilities. In this paper, we propose an method that uses fuzzing to help abstract interpretation based program verification, especially to help generating inputs that violate the target property. During the verification process, we feed the fuzzer with the necessary precondition of violating the target assertion computed by abstract interpretation, and then run the fuzzer to generate inputs satisfying the necessary precondition but violating the target assertion. The result shows promising ability of our approach in generating counter-example for target property in comparison with other state-of-the-art tools.
利用模糊测试帮助基于抽象解释的程序验证
多年来,通过计算各种程序的具体语义的过近似值,解释已成功地应用于静态分析。然而,在程序验证的上下文中,当属性不成立时,抽象解释不容易产生反例。动态分析以其生成输入以查找程序漏洞的能力而闻名。在本文中,我们提出了一种使用模糊来帮助基于抽象解释的程序验证的方法,特别是帮助生成违反目标属性的输入。在验证过程中,我们向模糊器提供违背抽象解释计算的目标断言的必要前提条件,然后运行模糊器生成满足必要前提条件但违背目标断言的输入。结果表明,与其他最先进的工具相比,我们的方法在生成目标属性的反例方面具有良好的能力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信