Research
I am a member of the RIPLE research lab. My interests are mainly in programming languages and software engineering. A list of my publications is available here.
Dynamic Updates
I am the principal developer of Ginseng, a dynamic
software updating implementation for C that provides certain
update safety guarantees. Ginseng has been used for
constructing and applying on-the-fly updates (based on actual
1--4 years' worth of releases) to widely-used open source software such as
vsftpd, the
OpenSSH server,
memcached, and
Icecast.
Recently we have been looking at
dynamic updates for web and cloud applications.
Papers: HotSWUp'11, PLDI'09, PLDI'06, POPL'08.
Software Evolution
The goal of our research is to understand how software evolves,
construct evolution models, and use software artifact history to
facilitate development and maintenance.
Papers: ICSE'12, ICSE'11, MSR'11, SUITE'11, ICSM'10, ASWEC'10, ICSM'09, IWPSE'09.
Cloud Computing
Cloud Computing has introduced new models for programming,
consistency, and software evolution. At the same time, Cloud
applications and infrastructure need to provide high availability
and strong safety guarantees.
The main goals of our research are: elastification, i.e., enabling
legacy applications to take advantage of elastic resources; end-to-end
update consistency guarantees for Cloud applications; mechanisms and
safety guarantees for dynamic updates to Cloud software.
Papers: MESOCA'11, SEAMS'11, APLWACA'10.
Verification for Android
The goal of this research line is two-fold: using dynamic analysis to
find bugs in Android applications, and improving the
security of Android applications.
Papers: AST'11.
Students
Current- Pamela Bhattacharya
- Lorenzo Gomez (undergraduate)
- Steve Suh
- Lyudmila Ulanova
- Yan Wang (co-advised with Rajiv Gupta)
- Cuixiong "Tony" Hu (MS, 2010, now at Amazon)
- Shengfeng "Kent" Wu (MS, 2010)
- Dien-Yen "Danny" Lin (MS, 2010)
- Chih-Ming "Jamie" Yen (MS, 2009)
- Jonathan Bardin (June-September 2010)
Teaching
- Winter 2012: CS 180 - Introduction to Software Engineering, CS 207 - Advanced Programming Languages
- Spring 2011: CS 245 - Software Evolution
- Winter 2011: CS 180 - Introduction to Software Engineering, CS 207 - Advanced Programming Languages
- Winter 2010: CS 180 - Introduction to Software Engineering, CS 207 - Advanced Programming Languages
- Spring 2009: CS 180 - Introduction to Software Engineering
- Winter 2009: CS 152 - Compiler Design
- Fall 2008: CS 245 - Software Evolution
Professional Activities
- PC member, Fourth Workshop on Hot Topics in Software Upgrades (HotSWUp'12) held at ICSE'12.
- Finance and sponsorship chair, 33rd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2012).
- PC member, 8th Workshop on Reflection, AOP and Meta-Data for Software Evolution held at TOOLS 2011.
- PC member, Early Research Achievements (ERA) Track at ICSM 2011.
- Poster session chair, ASPLOS 2011.
- PC member, Early Research Achievements (ERA) Track at ICSM 2010.
- PC member, 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution held at ECOOP 2010.
- Co-chair, Second Workshop on Hot Topics in Software Upgrades (HotSWUp'09) held at OOPSLA'09.
- PC member, 6th Workshop on Reflection, AOP and Meta-Data for Software Evolution held at ECOOP'09.
- Co-chair, First Workshop on Hot Topics in Software Upgrades (HotSWUp'08) held at OOPSLA'08.
Current Funding
- NSF: "CAREER: Differential Types and Declarative Hypothesis Testing for Software Evolution," April 2012--March 2017
- NSF: "Collaborative Research: Program Analysis for Smartphone Application Security," (with PIs Jeff Foster and Todd Millstein), April 2011--March 2015
- NSF: "Programmable Monitoring Support for Multicore Systems," (with PI Rajiv Gupta), September 2010--September 2013
Past Funding
- Google Research Award: "Model-based Verification for Android Applications", December 2010--December 2011
- DARPA: "ProLiFiC: Cyber-Genetic Provenance, Lineage, Forensics and Classification," (with PI Scott Evans, Eamonn Keogh, Stefano Lonardi, John Morrison), June 2010--August 2011
My Education
University of Maryland, College Park - Ph.D. (2008), M.Sc. (2005)My advisor was Prof. Michael Hicks, and I was a member of the PLUM research group.
Technical University of Cluj-Napoca, Romania - B.Sc. (1999)
