• 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