Abstraction and Mining of Traces to Explain Concurrency Bugs

作者: Mitra Tabaei Befrouei , Chao Wang , Georg Weissenbacher

DOI: 10.1007/978-3-319-11164-3_14

关键词: Abstraction (linguistics)ProgrammerComputer scienceScalabilityRank (computer programming)Programming languageShared memorySet (abstract data type)Automated miningConcurrency

摘要: We propose an automated mining-based method for explaining concurrency bugs. use a data mining technique called sequential pattern to identify problematic sequences of concurrent read and write accesses the shared memory multi-threaded program. Our does not rely on any characteristics specific one type bug, thus providing general framework bug explanation. In our method, given set execution traces, we first mine that frequently occur in failing traces then rank them based number their occurrences passing traces. consider highly ranked events only explanation system failure, as they can reveal its causes Since scalability is limited by length present abstraction which shortens at cost introducing spurious explanations. Spurious well misleading explanations are eliminated subsequent filtering step, helping programmer focus likely failure. validate approach using case studies, including synthetic real-world

参考文章(29)
Stefan Leue, Mitra Tabaei Befrouei, Counterexample explanation by anomaly detection international workshop on model checking software. pp. 24- 42 ,(2012) , 10.1007/978-3-642-31759-0_5
Stefan Leue, Mitra Tabaei Befrouei, Mining Sequential Patterns to Explain Concurrent Counterexamples international workshop on model checking software. pp. 264- 281 ,(2013) , 10.1007/978-3-642-39176-7_17
Yu Yang, Xiaofang Chen, Ganesh Gopalakrishnan, Robert M. Kirby, Distributed Dynamic Partial Order Reduction Based Verification of Threaded Software Model Checking Software. pp. 58- 75 ,(2007) , 10.1007/978-3-540-73370-6_6
Jiawei Han, Ramin Afshar, Xifeng Yan, CloSpan: Mining Closed Sequential Patterns in Large Databases. siam international conference on data mining. pp. 166- 177 ,(2003)
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
Christos H. Papadimitriou, The serializability of concurrent database updates Journal of the ACM. ,vol. 26, pp. 631- 653 ,(1979) , 10.1145/322154.322158
Tayfun Elmas, Shaz Qadeer, Serdar Tasiran, Goldilocks: a race-aware Java runtime Communications of The ACM. ,vol. 53, pp. 85- 92 ,(2010) , 10.1145/1839676.1839698
Jeremias Röβler, Gordon Fraser, Andreas Zeller, Alessandro Orso, Isolating failure causes through test case generation Proceedings of the 2012 International Symposium on Software Testing and Analysis - ISSTA 2012. pp. 309- 319 ,(2012) , 10.1145/2338965.2336790
Robert H. B. Netzer, Barton P. Miller, Improving the accuracy of data race detection acm sigplan symposium on principles and practice of parallel programming. ,vol. 26, pp. 133- 144 ,(1991) , 10.1145/109625.109640
Cormac Flanagan, Stephen N. Freund, FastTrack: efficient and precise dynamic race detection Communications of The ACM. ,vol. 53, pp. 93- 101 ,(2010) , 10.1145/1839676.1839699