KIT | KIT-Bibliothek | Impressum

Localizing Defects in Multithreaded Programs by Mining Dynamic Call Graphs

Eichinger, Frank; Pankratius, Victor; Große, Philipp W. L.; Böhm, Klemens

Abstract: Writing multithreaded software for multicore computers confronts many developers with the difficulty of finding parallel programming errors. In the past, most parallel debugging techniques have concentrated on finding race conditions due to wrong usage of synchronization constructs. A widely unexplored issue, however, is that a wrong usage of non-parallel programming constructs may also cause wrong parallel application behavior. This paper presents a novel defect-localization technique for multithreaded shared-memory programs that is based on analyzing execution anomalies. Compared to race detectors that report just on wrong synchronization, this method can detect a wider range of defects affecting parallel execution. It works on a condensed representation of the call graphs of multithreaded applications and employs data-mining techniques to locate a method containing a defect. Our results from controlled application experiments show that we found race conditions, but also other programming errors leading to incorrect parallel program behavior. On average, our approach reduced in our benchmark the amount of code to be inspected to just 7.1% of all methods.


Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Jahr 2010
Sprache Englisch
Identifikator ISBN: 978-3-642-15584-0
ISSN: 0302-9743
URN: urn:nbn:de:swb:90-197164
KITopen ID: 1000019716
Erschienen in Testing: Academic and Industrial Conference - Practice and Research Techniques : 5th International Conference, TAIC PART 2010, Windsor, UK, September 4-6, 2010, Proceedings. Ed.: L. Bottaci
Verlag Springer Berlin, Berlin
Seiten 56-71
Serie Lecture Notes in Computer Science ; 6303
Bemerkung zur Veröffentlichung http://www.ipd.kit.edu/~eichi/papers/eichinger10localizing.pdf
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft KITopen Landing Page