CSE Seminar - Na Meng - Automating Program Transformations based on Examples of Systematic Edits
The cost of software maintenance is rising dramatically and has been estimated to account for more than 90% of the total cost for software. During software maintenance, developers fix bugs, add features, migrate applications to new settings, and refactor code. Recent studies show that many code changes are similar, but not identical, and are applied to multiple locations. Automatically making these systematic edits will significantly improve programmer productivity and software quality. In this talk, I will present approaches to automate program transformations based on exemplar code changes provided by developers. By inferring systematic edits and relevant context from one or more exemplar changes, my automated approaches can (1) apply similar changes to other locations, (2) locate code that requires similar changes, and (3) refactor code which undergoes systematic edits. The combination of these techniques opens a new way of helping developers automate tedious and error-prone tasks. These techniques have the potential to guide automated software development and maintenance activities based on existing code changes mined from version histories for bug fixes, feature additions, refactoring, and software migration.
Na Meng is a Postdoctoral Researcher in Computer Science at The University of Texas at Austin. Her research interest includes Software Engineering and Programming Languages. Her focus is on automatic program transformation to improve programmer productivity and software quality. She received her B.E. in Software Engineering from Northeastern University of China in 2006. She received her M.S. in Computer Science from Peking University of China under the supervision of Dr. Qianxiang Wang in 2009. In 2014, she received her Ph.D. in Computer Science from The University of Texas at Austin under the supervision of Dr. Miryung Kim and Dr. Kathryn S. McKinley.