Towards Differential Program Analysis
Joel Winstead and David Evans.
Workshop on Dynamic
Analysis. 9 May 2003.
Differential Program Analysis is the task of analyzing two related
programs to determine the behavioral difference between them. One goal
is to find an input for which the two programs will produce different
outputs, thus illustrating the behavioral difference between the two
programs. Because the general problem is undecidable, an unsound or
incomplete analysis is necessary. A combination of static and dynamic
techniques may be able to produce useful results for typical programs,
by conducting a search for differentiating inputs guided by
heuristics. This paper defines the problem, describing what would be
necessary for this kind of analysis, and presents preliminary results
illustrating the potential of this technique.
Keywords: differential program analysis, static analysis, dynamic
analysis, program behavior, software maintenance.
Complete Paper (4 pages)