Proceedings of the Sixth European Conference on Software Maintenance and Reengineering
DOI: 10.1109/csmr.2002.995792
|View full text |Cite
|
Sign up to set email alerts
|

A precise demand-driven definition-use chaining algorithm

Abstract: This paper describes a new demand-driven technique that is able to identify both direct and indirect realizable data-dependencies between statements in the investigated code. Involving control-dependencies too our method thus can also be extended to perform precise forward and backward slicing of computer programs.The presented interprocedural algorithm considers realizable program paths when exploring individual definition-use chains by introducing backtrack information for traditional reaching definitions. H… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(2 citation statements)
references
References 19 publications
0
2
0
Order By: Relevance
“…[30] endif [31] if m uses x then // Rule 2 [32] Mark m [33] foreach defined variable z influenced by use of x do [34] Propagate (RD z y , m) [35] endfor [36] if m is a predicate then // Rule 5 [37] Propagate (RD C y , m) [38] endif [39] endif [40] endfor [41] endswitch [42] else // control tokens [43] switch n [44] case call site for called procedure P: // Rule 3 [45] Propagate (RD C C , entryNodeOf(P)) [46] foreach z | RD z C ∈ exitNodeOf(P) do [47] Propagate (RD z y , returnSiteOf(n)) // These rules are summarized below:…”
Section: Forward Slicingmentioning
confidence: 99%
See 1 more Smart Citation
“…[30] endif [31] if m uses x then // Rule 2 [32] Mark m [33] foreach defined variable z influenced by use of x do [34] Propagate (RD z y , m) [35] endfor [36] if m is a predicate then // Rule 5 [37] Propagate (RD C y , m) [38] endif [39] endif [40] endfor [41] endswitch [42] else // control tokens [43] switch n [44] case call site for called procedure P: // Rule 3 [45] Propagate (RD C C , entryNodeOf(P)) [46] foreach z | RD z C ∈ exitNodeOf(P) do [47] Propagate (RD z y , returnSiteOf(n)) // These rules are summarized below:…”
Section: Forward Slicingmentioning
confidence: 99%
“…A former paper of the authors [41] presented a token propagation-based method to compute realizable definition-use chains. That method does not consider control dependences, parameter passing, and is not fully demand-driven (relies on kill sets computed in advance).…”
Section: Related Workmentioning
confidence: 99%