Proceedings of the 2013 International Symposium on Software Testing and Analysis 2013
DOI: 10.1145/2483760.2483792
|View full text |Cite
|
Sign up to set email alerts
|

Griffin: grouping suspicious memory-access patterns to improve understanding of concurrency bugs

Abstract: This paper presents Griffin, a new fault-comprehension technique. Griffin provides a way to explain concurrency bugs using additional information over existing fault-localization techniques, and thus, bridges the gap between faultlocalization and fault-fixing techniques. Griffin inputs a list of memory-access patterns and a coverage matrix, groups those patterns responsible for the same concurrency bug, and outputs the grouped patterns along with suspicious methods and bug graphs. Griffin is the first techniqu… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
5
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
3
2
1

Relationship

1
5

Authors

Journals

citations
Cited by 11 publications
(5 citation statements)
references
References 28 publications
0
5
0
Order By: Relevance
“…Step 3, we have implemented the technique in a tool, called Griffin [14], and evaluated it on a set of Java and C++ programs with multiple concurrency bugs. To assist understanding of the concurrency bugs, the technique generates a graph, called a bug graph, that shows the context of accesses surrounding the concurrency bugs.…”
Section: Preliminary Resultsmentioning
confidence: 99%
“…Step 3, we have implemented the technique in a tool, called Griffin [14], and evaluated it on a set of Java and C++ programs with multiple concurrency bugs. To assist understanding of the concurrency bugs, the technique generates a graph, called a bug graph, that shows the context of accesses surrounding the concurrency bugs.…”
Section: Preliminary Resultsmentioning
confidence: 99%
“…Griffin [22] is the most closely related work to Coadec-it first collects concurrency interthread read-write patterns and then generates a sequence of methods containing these patterns. However, the execution context output by Griffin is coarse grained (i.e., method) and may not provide enough information.…”
Section: Context-aware Debuggingmentioning
confidence: 99%
“…However, these techniques focus on sequential software and have not considered concurrent software systems. Griffin [22] generates context information of buggy locations in concurrent programs, which is mostly related to Coadec. However, the context is a sequence of methods within individual threads and does not describe communication across multiple threads and thus may not provide enough information for developers to understand the bugs.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Traditional fault localization techniques and static analysis fall short to detect these faults efficiently. Existing dynamic fault-localization techniques focus on pinpointing data-access patterns that are subject to concurrency faults [9,12,19,20,25]. Although these techniques are effective in capturing faulty data-access patterns, the corresponding code blocks should still be identified by the programmer to locate and fix the defect.…”
Section: Introductionmentioning
confidence: 99%