Computer Sciences Dept.

Identifying the Semantic and Textual Differences Between Two Versions of a Program

Susan Horwitz

Text-based file comparators (e.g., the Unix utility diff) are very general tools that can be applied to arbitrary files. However, using such tools to compare programs can be unsatisfactory because their only notion of change is based on program text rather than program behavior. This paper describes a technique for comparing two versions of a program, determining which program components represent changes, and classifying each changed component as representing either a semantic or a textual change.

Download this report (PDF)

Return to tech report index

Computer Science | UW Home