Detecting Correlation Violations and Data Races by Inferring Non-deterministic Reads

作者: Ali Jannesari , Nico Koprowski , Walter F. Tichy , Felix Wolf , Jochen Schimmel

DOI: 10.1109/.13

关键词:

摘要: With the introduction of multicore systems and parallel programs concurrency bugs have become more common. A notorious class these are data races that violate correlations between variables. This happens, for example, when programmer does not update correlated variables atomically, which is needed to maintain their semantic relationship. The detection such challenging because among usually escape traditional race detectors oblivious relationships. In this paper, we present an effective method dynamically identifying together with a detector based on notion non-deterministic reads identifies malicious eight 190 micro benchmarks, found than 100 were overlooked by other detectors. Furthermore, identified about 300 variable violated races.

参考文章(19)
Madan Musuvathi, Shaz Qadeer, CHESS: Systematic Stress Testing of Concurrent Software Logic-Based Program Synthesis and Transformation. pp. 15- 16 ,(2006) , 10.1007/978-3-540-71410-1_2
Cyrille Artho, Klaus Havelund, Armin Biere, Using Block-Local Atomicity to Detect Stale-Value Concurrency Errors automated technology for verification and analysis. ,vol. 3299, pp. 150- 164 ,(2004) , 10.1007/978-3-540-30476-0_16
Ali Jannesari, Markus Westphal-Furuya, Walter F. Tichy, Dynamic data race detection for correlated variables international conference on algorithms and architectures for parallel processing. pp. 14- 26 ,(2011) , 10.1007/978-3-642-24650-0_3
Shaz Qadeer, Iulian Neamtiu, Thomas Ball, Piramanayagam Arumuga Nainar, Madanlal Musuvathi, Gerard Basler, Finding and reproducing Heisenbugs in concurrent programs operating systems design and implementation. pp. 267- 280 ,(2008) , 10.5555/1855741.1855760
Ali Jannesari, Walter F. Tichy, Korbinian Molitorisz, Jochen Schimmel, Automatic generation of parallel unit tests automation of software test. pp. 40- 46 ,(2013) , 10.5555/2662413.2662423
Robert H. B. Netzer, Barton P. Miller, What are race conditions?: Some issues and formalizations ACM Letters on Programming Languages and Systems. ,vol. 1, pp. 74- 88 ,(1992) , 10.1145/130616.130623
Amie L. Souter, Lori L. Pollock, Cheer-Sun D. Yang, All-du-path coverage for parallel programs international symposium on software testing and analysis. ,vol. 23, pp. 153- 162 ,(1998) , 10.1145/271771.271804
Gábor Szeder, Unit testing for multi-threaded Java programs parallel and distributed systems testing analysis and debugging. pp. 4- ,(2009) , 10.1145/1639622.1639626
Cormac Flanagan, Stephen N Freund, Atomizer: a dynamic atomicity checker for multithreaded programs symposium on principles of programming languages. ,vol. 39, pp. 256- 267 ,(2004) , 10.1145/964001.964023
Shan Lu, Soyeon Park, Eunsoo Seo, Yuanyuan Zhou, Learning from mistakes Proceedings of the 13th international conference on Architectural support for programming languages and operating systems - ASPLOS XIII. ,vol. 42, pp. 329- 339 ,(2008) , 10.1145/1346281.1346323