Seminars & Colloquia

Miryung Kim

Department of Computer Science and Engineering, University of Washington

"Analyzing and Inferring the Structure of Code Changes"

Wednesday March 19, 2008 10:00 AM
Location: 3211, EBII NCSU Centennial Campus
(Visitor parking instructions)


Abstract: Abstract: 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.

Short Bio: Bio: Miryung Kim is a Ph.D. 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.

Host: Tao Xie, Computer Science, NCSU

Back to Seminar Listings
Back to Colloquia Home Page