KIT | KIT-Bibliothek | Impressum | Datenschutz

Localizing Defects in Multithreaded Programs by Mining Dynamic Call Graphs

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

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.

Open Access Logo

Volltext §
DOI: 10.5445/IR/1000019716
Cover der Publikation
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsjahr 2010
Sprache Englisch
Identifikator ISBN: 978-3-642-15584-0
ISSN: 0302-9743
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
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page