Overwatch: Learning patterns in code edit sequences

  • Yuhao Zhang
  • , Yasharth Bajpai
  • , Priyanshu Gupta
  • , Ameya Ketkar
  • , Miltiadis Allamanis
  • , Titus Barik
  • , Sumit Gulwani
  • , Arjun Radhakrishna
  • , Mohammad Raza
  • , Gustavo Soares
  • , Ashish Tiwari

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

14 Citations (Scopus)

Abstract

Integrated Development Environments (IDEs) provide tool support to automate many source code editing tasks. Traditionally, IDEs use only the spatial context, i.e., the location where the developer is editing, to generate candidate edit recommendations. However, spatial context alone is often not sufficient to confidently predict the developer’s next edit, and thus IDEs generate many suggestions at a location. Therefore, IDEs generally do not actively offer suggestions and instead, the developer is usually required to click on a specific icon or menu and then select from a large list of potential suggestions. As a consequence, developers often miss the opportunity to use the tool support because they are not aware it exists or forget to use it. To better understand common patterns in developer behavior and produce better edit recommendations, we can additionally use the temporal context, i.e., the edits that a developer was recently performing. To enable edit recommendations based on temporal context, we present Overwatch, a novel technique for learning edit sequence patterns from traces of developers’ edits performed in an IDE. Our experiments show that Overwatch has 78% precision and that Overwatch not only completed edits when developers missed the opportunity to use the IDE tool support but also predicted new edits that have no tool support in the IDE.
Original languageEnglish
Title of host publicationProceedings of the ACM on Programming Languages
Pages395-423
Number of pages29
Volume6
EditionOOPSLA2
DOIs
Publication statusPublished - 31 Oct 2022
Externally publishedYes

Publication series

NameProceedings of the ACM on Programming Languages
PublisherAssociation for Computing Machinery (ACM)

Keywords

  • Artificial Intelligence
  • Program Generation
  • Program Synthesis

Fingerprint

Dive into the research topics of 'Overwatch: Learning patterns in code edit sequences'. Together they form a unique fingerprint.

Cite this