Jiasi Shen Thesis Defense: Program Inference and Regeneration via Active Learning


Jiasi Shen


Martin Rinard

Program Inference and Regeneration via Active Learning


Software now plays a central role in numerous aspects of human society. Current software development practices involve significant developer effort in all phases of the software life cycle, including the development of new software, detection and elimination of defects and security vulnerabilities in existing software, maintenance of legacy software, and integration of existing software into more contexts, with the quality of the resulting software still leaving much to be desired. The goal of my research is to improve software quality and reduce costs by automating tasks that currently require substantial manual engineering effort.

I present a novel approach for program inference and regeneration, which takes an existing program, learns its core functionality as a black box, builds a model that captures this functionality, and uses the model to generate a new program. The new program delivers the same core functionality but is potentially augmented or transformed to operate successfully in different environments. This research enables the rejuvenation and retargeting of existing software and provides a powerful way for developers to express program functionality that adapts flexibly to a variety of contexts. In this talk, I will show how we applied these techniques to database-backed programs and discuss the broader implications of these techniques.


Jiasi Shen is a Ph.D. candidate at MIT EECS.

Thesis Committee:

Martin Rinard, Armando Solar-Lezama, Saman Amarasinghe