Generating data race witnesses by an SMT-based analysis

作者: Mahmoud Said , Chao Wang , Zijiang Yang , Karem Sakallah

DOI: 10.1007/978-3-642-20398-5_23

关键词:

摘要: Data race is one of the most dangerous errors in multithreaded programming, and despite intensive studies, it remains a notorious cause failures concurrent systems. Detecting data races already hard problem, yet even harder for programmer to decide whether or how reported can appear actual program execution. In this paper we propose an algorithm generating debugging aid information called witnesses, which are concrete thread schedules that deterministically trigger races. More specifically, given execution trace, e.g. non-erroneous may have triggered warning Eraser-style detectors, use symbolic analysis based on SMT solvers search witness among alternative interleavings events trace. Our precisely encodes sequential consistency semantics using scalable predictive model ensure always feasible.

参考文章(32)
Shaz Qadeer, Madanlal Musuvathi, CHESS: A Systematic Testing Tool for Concurrent Software pp. 16- ,(2007)
Grigore Rosu, Traian Florin Serbanuta, Feng Chen, Maximal Causal Models for Multithreaded Systems ,(2008)
Chao Wang, Sudipta Kundu, Malay Ganai, Aarti Gupta, Symbolic Predictive Analysis for Concurrent Programs formal methods. ,vol. 5850, pp. 256- 272 ,(2009) , 10.1007/978-3-642-05089-3_17
M. Di Santo, F. Frattolillo, W. Russo, E. Zimeo, An Approach to Asynchronous Object-Oriented Parallel and Distributed Computing on Wide-Area Systems international parallel and distributed processing symposium. ,vol. 1800, pp. 536- 543 ,(2000) , 10.1007/3-540-45591-4_73
Feng Chen, Grigore Roşu, Parametric and Sliced Causality Computer Aided Verification. pp. 240- 253 ,(2007) , 10.1007/978-3-540-73368-3_27
Vineet Kahlon, Franjo Ivančić, Aarti Gupta, Reasoning About Threads Communicating via Locks Computer Aided Verification. ,vol. 3576, pp. 505- 518 ,(2005) , 10.1007/11513988_49
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, Thomas Anderson, Eraser: a dynamic data race detector for multithreaded programs ACM Transactions on Computer Systems. ,vol. 15, pp. 391- 411 ,(1997) , 10.1145/265924.265927
Chao Wang, Sudipta Kundu, Rhishikesh Limaye, Malay Ganai, Aarti Gupta, Symbolic predictive analysis for concurrent programs Formal Aspects of Computing. ,vol. 23, pp. 781- 805 ,(2011) , 10.1007/S00165-011-0179-2
Klaus Havelund, Thomas Pressburger, Model checking JAVA programs using JAVA PathFinder International Journal on Software Tools for Technology Transfer. ,vol. 2, pp. 366- 381 ,(2000) , 10.1007/S100090050043