Scalable Semantic Code Search for High-Quality Program Repair

  • Claire Le Goues | Carnegie Mellon University

Bugs in programs remain a pernicious problem. Research techniques in automated program improvement and repair are typically classified as either heuristic—searching over a set of syntactic changes, often drawn from an existing body of code—or semantic—leveraging symbolic analysis or synthesis to construct program-improving changes with respect to an inferred specification. In this talk, I will outline our recent advances in techniques that lie squarely in the middle, drawing on the best of both worlds: We reason about desired program behavior semantically, and use that characterization to scalably identify and adapt pre-existing code to fix bugs automatically. I will particularly emphasize the potential these approaches have to construct high quality patches, tackling a key outstanding challenge in the state-of-the-art in automated patching.

Series: Microsoft Research Talks