ISCAS OpenIR
PEDAL: a dynamic analysis tool for efficient concurrency bug reproduction in big data environment
Hu, Y; Yan, J; Choo, KKR
2016
发表期刊CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS
ISSN1386-7857
卷号19期号:1页码:153-166
摘要Concurrency bugs usually manifest under very rare conditions, and reproducing such bugs can be a challenging task. To reproduce concurrency bugs with a given input, one would have to explore the vast interleaving space, searching for erroneous schedules. The challenges are compounded in a big data environment. This paper explores the topic of concurrency bug reproduction using runtime data. We approach the concurrency testing and bug reproduction problem differently from existing literature, by emphasizing on the preemptable synchronization points. In our approach, a light-weight profiler is implemented to monitor program runs, and collect synchronization points where thread scheduler could intervene and make scheduling decisions. Traces containing important synchronization API calls and shared memory accesses are recorded and analyzed. Based on the preemptable synchronization points, we build a reduced preemption set (RPS) to narrow down the search space for erroneous schedules. We implement an optimized preemption-bounded schedule search algorithm and an RPS directed search algorithm, in order to reproduce concurrency bugs more efficiently. Those schedule exploration algorithms are integrated into our prototype, Profile directed Event driven Dynamic AnaLysis (PEDAL). The runtime data consisting of synchronization points is used as a source of feedback for PEDAL. To demonstrate utility, we evaluate the performance of PEDAL against those of two systematic concurrency testing tools. The findings demonstrate that PEDAL can detect concurrency bugs more quickly with given inputs, and consuming less memory. To prove its scalability in a big data environment, we use PEDAL to analyze several real concurrency bugs in large scale multithread programs, namely: Apache, and MySQL.; Concurrency bugs usually manifest under very rare conditions, and reproducing such bugs can be a challenging task. To reproduce concurrency bugs with a given input, one would have to explore the vast interleaving space, searching for erroneous schedules. The challenges are compounded in a big data environment. This paper explores the topic of concurrency bug reproduction using runtime data. We approach the concurrency testing and bug reproduction problem differently from existing literature, by emphasizing on the preemptable synchronization points. In our approach, a light-weight profiler is implemented to monitor program runs, and collect synchronization points where thread scheduler could intervene and make scheduling decisions. Traces containing important synchronization API calls and shared memory accesses are recorded and analyzed. Based on the preemptable synchronization points, we build a reduced preemption set (RPS) to narrow down the search space for erroneous schedules. We implement an optimized preemption-bounded schedule search algorithm and an RPS directed search algorithm, in order to reproduce concurrency bugs more efficiently. Those schedule exploration algorithms are integrated into our prototype, Profile directed Event driven Dynamic AnaLysis (PEDAL). The runtime data consisting of synchronization points is used as a source of feedback for PEDAL. To demonstrate utility, we evaluate the performance of PEDAL against those of two systematic concurrency testing tools. The findings demonstrate that PEDAL can detect concurrency bugs more quickly with given inputs, and consuming less memory. To prove its scalability in a big data environment, we use PEDAL to analyze several real concurrency bugs in large scale multithread programs, namely: Apache, and MySQL.
收录类别SCI
关键词Concurrency Analysis Profiling Dynamic Analysis Bug Reproduction
部门归属Dalian Univ Technol, Sch Software, Dalian, Peoples R China. Chinese Acad Sci, Inst Software, Beijing, Peoples R China. Univ S Australia, Adelaide, SA 5001, Australia. Key Lab Ubiquitous Network, Dalian, Peoples R China. Serv Software Liaoning Prov, Dalian, Peoples R China.
语种英语
WOS记录号WOS:000373179800013
引用统计
内容类型期刊论文
URI标识http://ir.iscas.ac.cn/handle/311060/17343
专题中国科学院软件研究所
推荐引用方式
GB/T 7714
Hu, Y,Yan, J,Choo, KKR. PEDAL: a dynamic analysis tool for efficient concurrency bug reproduction in big data environment[J]. CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS,2016,19(1):153-166.
APA Hu, Y,Yan, J,&Choo, KKR.(2016).PEDAL: a dynamic analysis tool for efficient concurrency bug reproduction in big data environment.CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS,19(1),153-166.
MLA Hu, Y,et al."PEDAL: a dynamic analysis tool for efficient concurrency bug reproduction in big data environment".CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS 19.1(2016):153-166.
条目包含的文件
文件名称/大小 文献类型 版本类型 开放类型 使用许可
art%3A10.1007%2Fs105(1654KB) 开放获取使用许可请求全文
个性服务
推荐该条目
保存到收藏夹
查看访问统计
导出为Endnote文件
谷歌学术
谷歌学术中相似的文章
[Hu, Y]的文章
[Yan, J]的文章
[Choo, KKR]的文章
百度学术
百度学术中相似的文章
[Hu, Y]的文章
[Yan, J]的文章
[Choo, KKR]的文章
必应学术
必应学术中相似的文章
[Hu, Y]的文章
[Yan, J]的文章
[Choo, KKR]的文章
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
暂无评论
 

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。