Detection of incorrect pointer dereferences for C/C++ programs using static code analysis and logical inference

Tatiana Vert, Tatiana Krikun, M. Glukhikh
{"title":"Detection of incorrect pointer dereferences for C/C++ programs using static code analysis and logical inference","authors":"Tatiana Vert, Tatiana Krikun, M. Glukhikh","doi":"10.1109/TMPA.2013.12","DOIUrl":null,"url":null,"abstract":"This article considers a method for an increase of static code analysis precision. The method extends classic code analysis algorithm with dependency analysis. For this purpose, during abstract interpretation information about statically known values should be extracted as well as dependencies between unknown values. Dependencies can be represented with first-order logic predicates. Such a method allows using of external logical inference tools to prove truth or falsehood of branch conditions and of error occurrence conditions. The main focus is oriented to pointer analysis logic and incorrect dereference detection rules. A prototype is implemented and results of efficiency evaluation are provided. The prototype uses Microsoft Z3 Solver as a logical inference tool. A significant precision increase is shown, ways for performance boosting are suggested.","PeriodicalId":147297,"journal":{"name":"2013 Tools & Methods of Program Analysis","volume":"202 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-10-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 Tools & Methods of Program Analysis","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TMPA.2013.12","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

This article considers a method for an increase of static code analysis precision. The method extends classic code analysis algorithm with dependency analysis. For this purpose, during abstract interpretation information about statically known values should be extracted as well as dependencies between unknown values. Dependencies can be represented with first-order logic predicates. Such a method allows using of external logical inference tools to prove truth or falsehood of branch conditions and of error occurrence conditions. The main focus is oriented to pointer analysis logic and incorrect dereference detection rules. A prototype is implemented and results of efficiency evaluation are provided. The prototype uses Microsoft Z3 Solver as a logical inference tool. A significant precision increase is shown, ways for performance boosting are suggested.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
使用静态代码分析和逻辑推理检测C/ c++程序的不正确指针解引用
本文提出了一种提高静态代码分析精度的方法。该方法对经典的代码分析算法进行了扩展,增加了依赖性分析。为此,在抽象解释期间,应该提取关于静态已知值的信息以及未知值之间的依赖关系。依赖关系可以用一阶逻辑谓词表示。这种方法允许使用外部逻辑推理工具来证明分支条件和错误发生条件的真或假。主要的焦点是指向指针分析逻辑和错误的解引用检测规则。实现了样机,并给出了效率评价结果。原型使用Microsoft Z3 Solver作为逻辑推理工具。结果表明,精度有了显著提高,并提出了提高性能的方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Detection of incorrect pointer dereferences for C/C++ programs using static code analysis and logical inference On improving the statistical method used to access the completeness of tests for software systems and discrete devices Usage of exchange simulators and test exchanges as tools for Ticker Plant systems testing Compatibility testing of clients' protocol connectivity to exchange and broker systems Dynamic data race detection in Java-programs using synchronization contracts
×
引用
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