• Publications
  • Influence
Interprocedural slicing using dependence graphs
A slice of a program with respect to a program point p and variable x consists of all statements of the program that might affect the value of x at point p. This paper concerns the problem ofExpand
  • 818
  • 141
Precise interprocedural dataflow analysis via graph reachability
The paper shows how a large class of interprocedural dataflow-analysis problems can be solved precisely in polynomial time by transforming them into a special kind of graph-reachability problem. TheExpand
  • 980
  • 110
Interprocedural slicing using dependence graphs
The notion of a <italic>program slice</italic>, originally introduced by Mark Weiser, is useful in program debugging, automatic parallelization, and program integration. A slice of a program is takenExpand
  • 1,018
  • 66
Using Slicing to Identify Duplication in Source Code
Programs often have a lot of duplicated code, which makes both understanding and maintenance more difficult. This problem can be alleviated by detecting duplicated code, extracting it into a separateExpand
  • 534
  • 41
Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation
This paper concerns interprocedural dataflow-analysis problems in which the dataflow information at a program point is represented by an environment (i.e., a mapping from symbols to values), and theExpand
  • 128
  • 35
Slicing Programs with Arbitrary Control-flow
Program slicing is a program transformation that is useful in program debugging, program maintenance, and other applications that involve understanding program behavior. Given a program point p and aExpand
  • 168
  • 21
Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation
Abstract This paper concerns interprocedural dataflow-analysis problems in which the dataflow information at a program point is represented by an environment (i.e., a mapping from symbols to values),Expand
  • 149
  • 18
The use of program dependence graphs in software engineering
This paper describes a language-independent program representation-the program dependence graph-and discusses how program dependence graphs, together with operations such as program slicing, canExpand
  • 277
  • 17
Fast and accurate flow-insensitive points-to analysis
In order to analyze a program that involves pointers, it is necessary to have (safe) information about what each pointer points to. There are many different approaches to computing points-toExpand
  • 251
  • 14
Precise flow-insensitive may-alias analysis is NP-hard
Determining aliases is one of the foundamental static analysis problems, in part because the precision with which this problem is solved can affect the precision of other analyses such as liveExpand
  • 134
  • 14