Interactive Program Transformations

Friday, April 19, 2013 - 9:00am - 10:15am
KEC 1005

Danny Dig
Visiting Research Assistant Professor
Computer Science Department
University of Illinois at Urbana-Champaign

Abstract:
Change is the heart of software development. For example, software evolves to 
add features, fix bugs, support new hardware, new versions of operating systems 
and libraries, and new user interfaces. Unfortunately, programmers perform most 
software changes manually, through low-level text edits, which are almost never 
reused. This makes software development time-consuming, error-prone, and 
expensive. It is widely known that at least two-thirds of software costs are 
due to evolution, with some industrial surveys claiming 90%.

In this talk I will present our ever-growing toolset of interactive program 
transformations. It currently automates changes from the domains of 
parallelism, software upgrades, testing, and end-user programming. I will 
highlight transformations from two domains: converting a mutable into an 
immutable class, and improving the maintainability and performance of 
spreadsheets. Our transformations do not require any program annotations, yet 
the transformations span multiple, non-adjacent, program statements. A 
find-and-replace tool can not perform such transformations, which require 
control- and data-flow analysis. Empirical evaluation shows that our toolset is 
useful: (i) it dramatically reduces the burden of analyzing and changing code, 
(ii) it is fast so it can be used interactively, (iii) it correctly applies 
transformations that open-source developers applied incompletely, and (iv) 
users prefer the improved quality of the changed code.

Speaker Biography: Danny Dig is a Visiting Research Assistant Professor in the CS department at Illinois, doing research in Software Engineering and Programming Languages. His research goal is to enable programmers to interactively and safely change large programs. He got a PhD from Illinois where his research won the best PhD dissertation award, and the First Prize at the ACM Student Research Competition Grand Finals. He did a postdoc at MIT where he opened the area of interactive transformations for parallelism, then he returned to Illinois. Some of the techniques he developed are shipping with the official release of the popular Eclipse and NetBeans development environments, and are used by millions of Java programmers everyday. He has started two popular workshops, and chaired or co-organized 11 workshops. He served as a member of 28 program or review committees for all top conferences in his area. His research is funded by NSF, Boeing, IBM, Intel, and Microsoft. More info can be found at:!
 http://dig.cs.illinois.edu
_______________________________________________
Colloquium mailing list
[email protected]
https://secure.engr.oregonstate.edu/mailman/listinfo/colloquium

Reply via email to