2010 10th International Conference on Quality Software 2010
DOI: 10.1109/qsic.2010.37
|View full text |Cite
|
Sign up to set email alerts
|

Slicing Concurrent Programs Based on Program Reachability Graphs

Abstract: Program slicing is an effective and established technique to analyze sequential programs. However, owing to intransitive dependences between statements, it is hard to get precise slices of concurrent programs with traditional slicing algorithms for sequential programs. This paper proposes a novel representation, thread interaction reachability graph (TIRG), for concurrent programs with shared memory, interleaving semantics and mutual exclusion. Based on TIRG, dependences can be analyzed globally and we constru… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
3
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
2
1
1

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(4 citation statements)
references
References 18 publications
0
3
0
Order By: Relevance
“…These include two important aspects: 1) the representation used to describe the concurrent semantics of Ada programs, and 2) the technique used to implement analysis on top of a given representation. Regarding the former, the most common representations used for Ada analytics are Petri nets [25], control flow graphs [26], and different forms of task graphs such as program reachability graphs [27], real-time task digraphs [28] and system dependence nets [29]. Concerning the latter, most analysis techniques for Ada are based on model checking 6 , which allows the automatic verification of a system's correctness.…”
Section: The Openmp Tasking Modelmentioning
confidence: 99%
“…These include two important aspects: 1) the representation used to describe the concurrent semantics of Ada programs, and 2) the technique used to implement analysis on top of a given representation. Regarding the former, the most common representations used for Ada analytics are Petri nets [25], control flow graphs [26], and different forms of task graphs such as program reachability graphs [27], real-time task digraphs [28] and system dependence nets [29]. Concerning the latter, most analysis techniques for Ada are based on model checking 6 , which allows the automatic verification of a system's correctness.…”
Section: The Openmp Tasking Modelmentioning
confidence: 99%
“…John Hatcliff et al provided the operational semantics for a multithreaded language with concurrency primitives and a bi‐simulation‐based notion for the correctness of slice in multithreaded programs with infinite execution traces. Xiaofang Qi et al extended the concept of serialization to the parallel data flow, using thread interaction reachability graph and M‐S pair program dependence graph (MSDG). In this approach, global data dependence analysis and a slicing algorithm using MSDG were used for finding the precise program slice.…”
Section: Overview Of Studiesmentioning
confidence: 99%
“…Since his approach needs to inline methods that use synchronization, it cannot completely handle recursion. Qi and Xu (2005) present the task communication reachability graph (TCRG) to eliminate time travels in Ada programs. The TCRG is basically a control flow graph that unrolls the symbolic execution committed by Krinke's and Nanda and Ramesh's algorithms and describes all possible execution orders of a program.…”
Section: Slicing Concurrent Programsmentioning
confidence: 99%