Darren C. Atkinson and William G. Griswold, “Effective whole-program analysis in the presence of pointers,” in Proceedings of the 6th ACM International Symposium on the Foundations of Software Engineering, pp. 46–55, November 1998.
Abstract
Many software engineering tools such as program slicers must perform data-flow analysis in order to extract necessary information from the program source. These tools typically borrow much of their implementation from optimizing compilers. However, since these tools are expected to analyze programs in their entirety, rather than functions in isolation, the time and space performance of the data-flow analyses are of major concern. We present techniques that reduce the time and space required to perform data-flow analysis of large programs. We have used these techniques to implement an efficient program slicing tool for C programs and have computed slices of programs with more than 100,000 lines of code.