Discovering and Representing Systematic Code Changes

Download Now Free registration required

Executive Summary

Software engineers often inspect program differences when reviewing others' code changes, when writing check-in comments, or when determining why a program behaves differently from expected behavior after modification. Program differencing tools that support these tasks are limited in their ability to group related code changes or to detect potential inconsistencies in those changes. To overcome these limitations and to complement existing approaches, the authors built Logical Structural Diff (LSdiff), a tool that infers systematic structural differences as logic rules. LSdiff notes anomalies from systematic changes as exceptions to the logic rules. They conducted a focus group study with professional software engineers in a large E-commerce company; they also compared LSdiff's results with textual differences and with structural differences without rules.

  • Format: PDF
  • Size: 544.84 KB