ABSTRACT
As a result of the increasing number of concurrent programs, the researchers put forward a number of tools with different implementation strategies to detect data race. However, confirming data races from the collection of true and false positives reported by race detectors is extremely the time-consuming process during the evaluation period.
In this paper, we presented ComRaDe, a management platform for concurrent testing of data race with three main functions: manage and filter data races, run evaluation programs to select race detectors, generate detection report automatically. We integrated and compared three different race detectors on ComRaDe in terms of race detection capability. The results demonstrated the potential of ComRaDe on effectively identifying the advantages and limitations of different race detectors, and in further helping researchers to select and improve the capability of detectors for its convenience.
- Sebastian Burckhardt, Pravesh Kothari, Madanlal Musuvathi, and Santosh Nagarakatte. 2010. A randomized scheduler with probabilistic guarantees of finding bugs. In ACM Sigplan Notices, Vol. 45. ACM, 167–178. Google ScholarDigital Library
- Eitan Farchi, Yarden Nir, and Shmuel Ur. 2003. Concurrent bug patterns and how to test them. In Parallel and Distributed Processing Symposium, 2003. Proceedings. International. IEEE, 7–pp. Google ScholarDigital Library
- Cormac Flanagan and Stephen N Freund. 2009. FastTrack: efficient and precise dynamic race detection. In ACM Sigplan Notices, Vol. 44. ACM, 121–133. Google ScholarDigital Library
- Jian Gao, Xin Yang, Yu Jiang, Han Liu, Weiliang Ying, and Xian Zhang. 2018. JBench: A Dataset of Data Races for Concurrency Testing. In Proceedings of the 15th International Conference on Mining Software Repositories. IEEE. Google ScholarDigital Library
- Jeff Huang, Patrick O’Neil Meredith, and Grigore Rosu. 2014. Maximal sound predictive race detection with control flow abstraction. ACM SIGPLAN Notices 49, 6 (2014), 337–348. Google ScholarDigital Library
- Pallavi Joshi, Mayur Naik, Chang-Seo Park, and Koushik Sen. 2009. CalFuzzer: An extensible active testing framework for concurrent programs. In International Conference on Computer Aided Verification. Springer, 675–681. Google ScholarDigital Library
- Baris Kasikci, Cristian Zamfir, and George Candea. 2012. Data races vs. data race bugs: telling the difference with portend. ACM SIGPLAN Notices 47, 4 (2012). Google ScholarDigital Library
- Jie Liang, Mingzhe Wang, Yuanliang Chen, Yu Jiang, and Renwei Zhang. 2018. Fuzz testing in practice: Obstacles and solutions. In 25th International Conference on Software Analysis, Evolution and Reengineering.Google ScholarCross Ref
- Shan Lu, Zhenmin Li, Feng Qin, Lin Tan, Pin Zhou, and Yuanyuan Zhou. 2005. Bugbench: Benchmarks for evaluating bug detection tools. In Workshop on the evaluation of software defect detection tools, Vol. 5.Google Scholar
- Lorna A Smith, J Mark Bull, and J Obdrizalek. 2001. A parallel java grande benchmark suite. In Supercomputing, ACM/IEEE 2001 Conference. IEEE, 6–6. Google ScholarDigital Library
- Mingzhe Wang, Jie Liang, Yuanliang Chen, Yu Jiang, Xun Jiao, Han Liu, Xibin Zhao, and Jiaguang Sun. 2018. SAFL: Increasing and Accelerating Testing Coverage with Symbolic Execution and Guided Fuzzing. In 2018 IEEE/ACM 40th International Conference on Software Engineering. IEEE. Google ScholarDigital Library
- Abstract 1 Introduction 2 ComRaDe Tool 2.1 Dataset Preparation 2.2 Manage and Filter Module 2.3 Run and Log Module 2.4 Compare and Generate Module 3 Evaluation 4 Conclusion ReferencesGoogle Scholar
Index Terms
Managing concurrent testing of data race with ComRaDe
Recommendations
MultiRace: efficient on-the-fly data race detection in multithreaded C++ programs: Research Articles
Parallel and Distributed Systems: Testing and Debugging (PADTAD)Data race detection is highly essential for debugging multithreaded programs and assuring their correctness. Nevertheless, there is no single universal technique capable of handling the task efficiently, since the data race detection problem is ...
Efficient on-the-fly data race detection in multithreaded C++ programs
PPoPP '03: Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programmingData race detection is highly essential for debugging multithreaded programs and assuring their correctness. Nevertheless, there is no single universal technique capable of handling the task efficiently, since the data race detection problem is ...
A deployable sampling strategy for data race detection
FSE 2016: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software EngineeringDynamic data race detection incurs heavy runtime overheads. Recently, many sampling techniques have been proposed to detect data races. However, some sampling techniques (e.g., Pacer) are based on traditional happens-before relation and incur a large ...
Comments