Title: Abstraction and mining of traces to explain concurrency bugs
Language: English
Authors: Tabaei Befrouei, Mitra 
Wang, Chao 
Weissenbacher, Georg
Category: Research Article
Keywords: Concurrency bugs; Bug explanation; Fault localization; Pattern mining; Learning
Issue Date: 2016
Journal: Formal Methods in System Design
We propose an automated mining-based method for explaining concurrency bugs. We use a data mining technique called sequential pattern mining to identify problematic sequences of concurrent read and write accesses to the shared memory of a multithreaded program. Our technique does not rely on any characteristics specific to one type of concurrency bug, thus providing a general framework for concurrency bug explanation. In our method, given a set of concurrent execution traces, we first mine sequences that frequently occur in failing traces and then rank them based on the number of their occurrences in passing traces. We consider the highly ranked sequences of events that occur frequently only in failing traces an explanation of the system failure, as they can reveal its causes in the execution traces. Since the scalability of sequential pattern mining is limited by the length of the traces, we present an abstraction technique which shortens the traces at the cost of introducing spurious explanations. Spurious as well as misleading explanations are then eliminated by a subsequent filtering step, helping the programmer to focus on likely causes of the failure. We validate our approach using a number of case studies, including synthetic as well as real-world bugs.
DOI: 10.1007/s10703-015-0240-5
Library ID: AC11361202
URN: urn:nbn:at:at-ubtuw:3-2760
ISSN: 1572-8102
Organisation: E192 - Institut für Informationssysteme 
Publication Type: Article
Appears in Collections:Article

Files in this item:

Show full item record

Page view(s)

checked on Feb 26, 2021


checked on Feb 26, 2021

Google ScholarTM


This item is licensed under a Creative Commons License Creative Commons