home >

research >

teaching >

students >

music >

curriculum vitae >

Danny Dig
Danny Dig
Assistant Professor
EECS Department
Oregon State University
Adjunct Assistant Professor
Department of Computer Science
U. of Illinois at Urbana-Champaign
3043 Kelley Engineering Center
2500 NW Monroe Ave,
Corvallis, OR 97331-5501
email: digd@eecs.oregonstate.edu

Call for Participation: we have an ongoing research study to understand how developers change code inside the IDE. If you develop Java code, please participate in our study.

OPEN POSITIONS: I am looking for postdocs in the area of refactoring (specifically in automation, composition, inference, parallelism & concurrency, mobility), but more generally in program transformation and software evolution.

In 2007 I got a PhD from the CS department at UIUC. After a postdoct at MIT CSAIL, I moved back to my Alma Mater, where I was a Research Professor. Now I am an Assistant Professor at OSU, surrounded by the beautiful Pacific NW.

Successful software undergoes constant change. My research addresses two important questions:

  1. What changes occur most often in practice?
  2. How can we automate them to improve programmers' productivity and software quality?
Over the years I have successfully automated program transformations to (i) retrofit parallelism into sequential code, (ii) improve responsiveness of mobile apps, (iii) upgrade component-based applications, (iv) update obsolete tests, (v) make end-user programs easier to change.

General interests:- automated refactoring, interactive program analysis and transformation, design & architectural patterns, and broadly interested in concurrency and parallelism, mobile computing, software development processes, program analysis, software testing, and software evolution

Research Impact:

  • our latest refactorings that empower Java programmers to use lambda expressions are shipping with the official release of the NetBeans IDE.
  • PhD research on record-and-replay of API-level refactoring ships with the official release of the Eclipse IDE and are used by millions of Java developers.
  • the automatic inference of refactorings has been used at large companies like Google and IBM, and dozens of research labs.
  • our ASTGen test generation framework is used in the testing infrastructure at Oracle.
  • empirical studies (one and two) on usage of concurrent libraries have influenced the development of the official libraries in .NET and Java.
  • our resource on learning parallelism in .NET receives more than 150,000 visitors.
  • many years ago I developed the world's first open-source refactoring engine for Java, and was downloaded over 17,000 times.



  • ACM SIGSOFT Distinguished Paper Award at ICSE'14 for this paper
  • ACM SIGSOFT Distinguished Paper Award at ISSTA'13 for this paper
  • Best Paper Award at ICST'13 for this paper
  • Microsoft Software Engineering Innovation Foundation award
  • Best PhD Thesis Award from the CS department at UIUC (and also department-nominated for ACM Doctoral Dissertation Award)
  • 1st Prize at inter-disciplinary Grand Finals of ACM Student Research Competition, 2006
  • 1st Prize at ACM SIGPLAN Student Research Competition, held at OOPSLA'05


MOTTO "Success is not for the chosen few, but for the few who choose" - John Maxwell

   Copyright 2005, Danny Dig.  All rights reserved.   Visitors since July 1st 2006: