Research
My research interests span the areas of Programming Languages, Operating Systems and Software Engineering. I am interested in dynamic software updating, software evolution, and in general in trying to formally capture, and rigorously reason about, "interesting" software properties. I believe that implementing these formalisms in mainstream programming languages and validating our implementations on realistic, widely-used applications can lead to techniques for making software safer, more available, more secure and easier to maintain.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 releases) to widely-used open source software such as vsftpd, the OpenSSH server, memcached, and Icecast. Updates ranged from several months to three years' worth of releases, i.e., if we compiled a program with DSU support and started it today, we could apply all the updates corresponding to new releases (e.g., bug fixes, added functionality), in the next couple of years, without having to shut down and restart the server. Check out our PLDI'06 paper or my dissertation for more details.
A list of my publications is available here.
Teaching
- Fall 2008: CS 245 - Software Evolution
Professional Activities
- Co-chair, First Workshop on Hot Topics in Software Upgrades (HotSWUp'08) held at OOPSLA'08.
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)