Automation, Analysis, and Reconstruction of Systematic Software Changes

First-year Graduate Lecture
Thursday, October 03, 2013
7:00 PM
ENS 314
Free and open to the public

Software modifications are often systematic. Adding features and fixing bugs often require similar, but not identical, changes to many code locations. In this talk, I will present three research themes on how to support systematic changes during software evolution. First, I will present LASE, an approach that automates systematic edits by learning context-aware edit scripts from examples. It handles both issues of recommending change locations and applying context-aware customized transformation. Second, I will present a field study of refactoring benefits and challenges at Microsoft. It is widely believed that refactoring improves software quality and developer productivity. However, few empirical studies quantitatively assess refactoring benefits. Our analysis of Windows 7 version history finds that the binary modules refactored by a designated refactoring team experienced significant reduction in the number of inter-module dependencies and post-release defects, indicating a tangible benefit of refactoring. Finally, I will present refactoring reconstruction and advanced program differencing techniques that detect systematic changes from program versions to help developers during peer code reviews.


x x

Speaker

Miryung Kim

Miryung Kim

Assistant Professor
UT ECE

Dr. Miryung Kim is an assistant professor in the Department of Electrical and Computer Engineering at the University of Texas at Austin.