My main research fields concern software engineering. I am interested in how models and source code are transformed through compilation, how running programs can be dynamically updated with no disruption of service, and more generally in how programs evolve throughout their life cycle.
Other keywords : software engineering, programming languages
My PhD thesis studies how programs can be updated without interruption. It identifies DSU mechanisms, analyses them, and proposes a universal API for designing dynamic updates.
Each program has its own requirements, its own properties. I found that dynamic updates have to take these into account. Designing dynamic updates requires specific knowledge of DSU mechanisms and of the update program. My research is centered on these new steps of the programs life cycle : designing and applying dynamic updates.
This problematic includes proposing models for dynamic updates and providing tools to help their conception.
Pymoult and Cmoult are two DSU platforms implementing the Starmoult model I propose in my PhD thesis. They adopt a generic API for designing dynamic updates, selecting best suited strategies and mechanisms for any given program.
Cmoult is still under heavy development.
Other keywords : source code obfuscation, compilation
Another of my interests is the protection of software systems. When the system is offline, source code obfuscation can make reverse engineering harder and deter attackers from tampering with programs. When the program is running, dynamic updates would let program modify themselves during attacks. I am interested in studying how dynamic software updates would help make programs more resilient.