home · mobile · calendar · colloquia · 2007-2008 · 

Colloquium - Kim

Analyzing and Inferring the Structure of Code Changes
University of Washington

There is a significant gap between how programmers think about code changes and how change is represented in most change-centric software engineering tools such as diff, CVS, and UNIX patch. To bridge this gap, I developed a new program differencing approach that automatically extracts a high-level change description from two program versions. The core of this approach is a novel rule-based change representation that explicitly and concisely captures systematic changes to a program's structure and a rule learning algorithm that automatically infers such rules.

In this talk, I will also present my empirical studies on duplicated code, which partially motivated my program differencing approach. It has been long believed that code clones -- syntactically similar code fragments -- indicate bad smells of poor software design and that refactoring code clones improves software quality. By analyzing how code clones actually change over time, I found that code clones are not inherently bad and that immediate and aggressive refactoring may not be the best solution for managing code clones.

Miryung Kim is a PhD candidate working with Dr. David Notkin at the University of Washington in Seattle. She earned her Bachelor's degree at the Korea Advanced Institute of Science Technology in 2001 and her Master's degree at the University of Washington in 2003. Her current research interests are software evolution, mining software repositories, and human aspects of software development.

Hosted by Kenneth Anderson.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)