DocumentCode
1994284
Title
Discovering and representing systematic code changes
Author
Kim, Miryung ; Notkin, David
Author_Institution
Electr. & Comput. Eng., Univ. of Texas at Austin, Austin, TX
fYear
2009
fDate
16-24 May 2009
Firstpage
309
Lastpage
319
Abstract
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, we 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. We conducted a focus group study with professional software engineers in a large E-commerce company; we also compared LSdiff´s results with textual differences and with structural differences without rules. Our evaluation suggests that LSdiff complements existing differencing tools by grouping code changes that form systematic change patterns regardless of their distribution throughout the code, and its ability to discover anomalies shows promise in detecting inconsistent changes.
Keywords
software maintenance; check-in comment; logic rule; logical structural diff tool; program differencing tool; software engineering; systematic code change discovery; Computer bugs; Computer science; Flow graphs; Logic; Packaging; Pervasive computing; Programming profession; Software tools; Tree graphs; Writing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2009. ICSE 2009. IEEE 31st International Conference on
Conference_Location
Vancouver, BC
ISSN
0270-5257
Print_ISBN
978-1-4244-3453-4
Type
conf
DOI
10.1109/ICSE.2009.5070531
Filename
5070531
Link To Document