PFinder:通过并行竞争验证有效地检测并发程序中的错误

Zhendong Wu, Kai Lu, Xiaoping Wang, Xu Zhou, Chen Chen
{"title":"PFinder:通过并行竞争验证有效地检测并发程序中的错误","authors":"Zhendong Wu, Kai Lu, Xiaoping Wang, Xu Zhou, Chen Chen","doi":"10.1109/ICCES.2014.7030948","DOIUrl":null,"url":null,"abstract":"Races hidden in concurrent programs can lead to harmful bugs. These bugs are difficult to detect due to their non-deterministic characteristics. Previous work has tried to dynamically verify races in actual executions to check whether they would lead to failures. However, it is inefficient to verify all the races to find the harmful bugs if there are a large number of races. To improve the efficiency, PFinder is the first technique that uses a parallel method to verify multiple races on multiple machines simultaneously. We have implemented PFinder as a prototype tool and have experimented on a number of real-world concurrent programs. All the known bugs in known benchmarks are detected. Also, PFinder could scale well as the number of machines increases. Additionally, the speedup of PFinder can be increased linearly with the number of machines.","PeriodicalId":339697,"journal":{"name":"2014 9th International Conference on Computer Engineering & Systems (ICCES)","volume":"104 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"PFinder: Efficiently detecting bugs in concurrent programs through parallelizing race verification\",\"authors\":\"Zhendong Wu, Kai Lu, Xiaoping Wang, Xu Zhou, Chen Chen\",\"doi\":\"10.1109/ICCES.2014.7030948\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Races hidden in concurrent programs can lead to harmful bugs. These bugs are difficult to detect due to their non-deterministic characteristics. Previous work has tried to dynamically verify races in actual executions to check whether they would lead to failures. However, it is inefficient to verify all the races to find the harmful bugs if there are a large number of races. To improve the efficiency, PFinder is the first technique that uses a parallel method to verify multiple races on multiple machines simultaneously. We have implemented PFinder as a prototype tool and have experimented on a number of real-world concurrent programs. All the known bugs in known benchmarks are detected. Also, PFinder could scale well as the number of machines increases. Additionally, the speedup of PFinder can be increased linearly with the number of machines.\",\"PeriodicalId\":339697,\"journal\":{\"name\":\"2014 9th International Conference on Computer Engineering & Systems (ICCES)\",\"volume\":\"104 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2014 9th International Conference on Computer Engineering & Systems (ICCES)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICCES.2014.7030948\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 9th International Conference on Computer Engineering & Systems (ICCES)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCES.2014.7030948","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

摘要

并发程序中隐藏的竞争可能导致有害的bug。由于这些bug具有不确定性的特点,所以很难检测出来。之前的工作试图在实际执行中动态验证竞争,以检查它们是否会导致失败。但是,如果存在大量的竞赛,那么验证所有的竞赛以发现有害的bug是低效的。为了提高效率,PFinder是第一种使用并行方法同时验证多台机器上的多个竞争的技术。我们已经将PFinder实现为一个原型工具,并在许多现实世界的并发程序中进行了实验。检测已知基准测试中的所有已知错误。此外,随着机器数量的增加,PFinder可以很好地扩展。此外,PFinder的加速可以随着机器数量的增加而线性增加。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
PFinder: Efficiently detecting bugs in concurrent programs through parallelizing race verification
Races hidden in concurrent programs can lead to harmful bugs. These bugs are difficult to detect due to their non-deterministic characteristics. Previous work has tried to dynamically verify races in actual executions to check whether they would lead to failures. However, it is inefficient to verify all the races to find the harmful bugs if there are a large number of races. To improve the efficiency, PFinder is the first technique that uses a parallel method to verify multiple races on multiple machines simultaneously. We have implemented PFinder as a prototype tool and have experimented on a number of real-world concurrent programs. All the known bugs in known benchmarks are detected. Also, PFinder could scale well as the number of machines increases. Additionally, the speedup of PFinder can be increased linearly with the number of machines.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信