Inspiring the next generation of computer scientists.
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:
Over the years I have successfully automated program transformations to (i) retrofit parallelism into sequential code, (ii) upgrade component-based applications, (iii) update obsolete tests, (iv) make end-user programs easier to change.
- What changes occur most often in practice?
- How can we automate them to improve programmers' productivity and software quality?
General interests:- program transformation, automated refactoring, design & architectural patterns, and broadly interested in concurrency and
parallelism, object-oriented frameworks, software development
processes, software testing, and software evolution.
- 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 30,000 visitors in the last 6 months.
- 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
LEADERSHIP and SERVICE:
- Program Committee: ECOOP'15, ICSE'15 (NIER track), ASE'14, OOPSLA'13, ECOOP'13, ASE'13, IPDPS'13, ICSM'13, ICSE'13 (NIER track), FSE'12, OOPSLA'12 (ERC), ECOOP'12 (ERC), ICSM'12, MSEPT'12, WRT'12, CSMR'12, ISSTA'11, PPoPP'11 (ERC), ACM Student Research Competition at ICSE'11, Research Demos @ FSE'10, IWPSE'10, OOPSLA'09, IWMSE'09, IWPSE'09, WRT'09, HotSWUp'09
- Proceedings Chair: OOPSLA'13
- Co-Chair: HotSWUp'12, WRT'11, WRT'08,HotSWUp'08
- Publicity Chair: ICSM'10.
- Chair: Doctoral Symposium @ ECOOP'07, WRT'07, PLoP'04
MOTTO "Success is not for the chosen few, but
for the few who choose" - John