Monday, October 14, 2013 - 4:00pm - 4:50pm
KEC 1001

Danny Dig
Assistant Professor
School of EECS
Oregon State University

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. 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 an assistant professor of Computer Science in the School of EECS at Oregon State University. He enjoys doing research in Software Engineering in general and interactive program transformations in particular. He earned his PhD from the University of Illinois at Urbana-Champaign 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. He (co-)authored 35+ journal and conference papers that appeared in top places in SE/PL. According to Google Scholar his publications have been cited 1,200+ times. He released 9 software systems, among them the world's first open-source refactoring tool. 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 popul!
ar workshops: Workshop on Refactoring Tools, and Hot Topics on Software 
Upgrades. His research is funded by NSF, Boeing, IBM, Intel, and Microsoft.

More info can be found on his homepage: http://dig.cs.illinois.edu
_______________________________________________
Colloquium mailing list
[email protected]
https://secure.engr.oregonstate.edu/mailman/listinfo/colloquium

Reply via email to