A Light-Weight Approach for Verifying Multi-Threaded Programs with CPAchecker

Dirk Beyer, Karlheinz Friedberger
{"title":"A Light-Weight Approach for Verifying Multi-Threaded Programs with CPAchecker","authors":"Dirk Beyer, Karlheinz Friedberger","doi":"10.4204/EPTCS.233.6","DOIUrl":null,"url":null,"abstract":"Verifying multi-threaded programs is becoming more and more important, because of the strong trend to increase the number of processing units per CPU socket. We introduce a new configurable program analysis for verifying multi-threaded programs with a bounded number of threads. We present a simple and yet efficient implementation as component of the existing program-verification framework CPACHECKER. While CPACHECKER is already competitive on a large benchmark set of sequential verification tasks, our extension enhances the overall applicability of the framework. Our implementation of handling multiple threads is orthogonal to the abstract domain of the data-flow analysis, and thus, can be combined with several existing analyses in CPACHECKER, like value analysis, interval analysis, and BDD analysis. The new analysis is modular and can be used, for example, to verify reachability properties as well as to detect deadlocks in the program. This paper includes an evaluation of the benefit of some optimization steps (e.g., changing the iteration order of the reachability algorithm or applying partial-order reduction) as well as the comparison with other state-of-the-art tools for verifying multi-threaded programs.","PeriodicalId":325597,"journal":{"name":"Doctoral Workshop on Mathematical and Engineering Methods in Computer Science","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"12","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Doctoral Workshop on Mathematical and Engineering Methods in Computer Science","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4204/EPTCS.233.6","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 12

Abstract

Verifying multi-threaded programs is becoming more and more important, because of the strong trend to increase the number of processing units per CPU socket. We introduce a new configurable program analysis for verifying multi-threaded programs with a bounded number of threads. We present a simple and yet efficient implementation as component of the existing program-verification framework CPACHECKER. While CPACHECKER is already competitive on a large benchmark set of sequential verification tasks, our extension enhances the overall applicability of the framework. Our implementation of handling multiple threads is orthogonal to the abstract domain of the data-flow analysis, and thus, can be combined with several existing analyses in CPACHECKER, like value analysis, interval analysis, and BDD analysis. The new analysis is modular and can be used, for example, to verify reachability properties as well as to detect deadlocks in the program. This paper includes an evaluation of the benefit of some optimization steps (e.g., changing the iteration order of the reachability algorithm or applying partial-order reduction) as well as the comparison with other state-of-the-art tools for verifying multi-threaded programs.
用CPAchecker验证多线程程序的轻量级方法
由于每个CPU插槽的处理单元数量不断增加,验证多线程程序变得越来越重要。介绍了一种新的可配置程序分析方法,用于验证线程数量有限的多线程程序。我们提出了一个简单而有效的实现,作为现有程序验证框架CPACHECKER的组成部分。虽然CPACHECKER在顺序验证任务的大型基准测试集上已经具有竞争力,但我们的扩展增强了框架的整体适用性。我们处理多线程的实现与数据流分析的抽象领域是正交的,因此,可以与CPACHECKER中现有的几种分析相结合,如值分析、区间分析和BDD分析。新的分析是模块化的,可以用于验证可达性属性以及检测程序中的死锁。本文包括对一些优化步骤(例如,改变可达性算法的迭代顺序或应用部分阶约简)的好处的评估,以及与其他最先进的验证多线程程序的工具的比较。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信