mlsanityData to 7 Oct 2026

Exploring Plausible Patches Using Source Code Embeddings in JavaScript

arXiv 2103.16846 ↗First posted 31 Mar 2021cs.SE cs.AIcited by 0

Not on the map. Why?

Abstract (arXiv)

Despite the immense popularity of the Automated Program Repair (APR) field, the question of patch validation is still open. Most of the present-day approaches follow the so-called Generate-and-Validate approach, where first a candidate solution is being generated and after validated against an oracle. The latter, however, might not give a reliable result, because of the imperfections in such oracles; one of which is usually the test suite. Although (re-) running the test suite is right under one's nose, in real life applications the problem of over- and underfitting often occurs, resulting in inadequate patches. Efforts that have been made to tackle with this problem include patch filtering, test suite expansion, careful patch producing and many more. Most approaches to date use post-filtering relying either on test execution traces or make use of some similarity concept measured on the generated patches. Our goal is to investigate the nature of these similarity-based approaches. To do so, we trained a Doc2Vec model on an open-source JavaScript project and generated 465 patches for 10 bugs in it. These plausible patches alongside with the developer fix are then ranked based on their similarity to the original program. We analyzed these similarity lists and found that plain document embeddings may lead to misclassification - it fails to capture nuanced code semantics. Nevertheless, in some cases it also provided useful information, thus helping to better understand the area of Automated Program Repair.

Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 12 of its 44 references that are in the map. First posted on arXiv 31 Mar 2021.

Builds on

12 of 44 references.

References · 12

  1. 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
  2. 2014Distributed Representations of Sentences and Documentscited by 677
  3. 2018code2vec: Learning Distributed Representations of Codecited by 249
  4. 2019On Learning Meaningful Code Changes via Neural Machine Translationcited by 50
  5. 2018Nopol: Automatic Repair of Conditional Statement Bugs in Java Programscited by 32
  6. 2017Sorting and Transforming Program Repair Ingredients via Deep Learning Code Similaritiescited by 26
  7. 2020Evaluating Representation Learning of Code Changes for Predicting Patch Correctness in Program Repaircited by 22
  8. 2017Identifying Patch Correctness in Test-Based Program Repaircited by 16
  9. 2018On Reliability of Patch Correctness Assessmentcited by 8
  10. 2018Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Datasetcited by 7
  11. 2014A Critical Review of "Automatic Patch Generation Learned from Human-Written Patches": Essay on the Problem Statement and the Evaluation of Automatic Software Repaircited by 4
  12. 2019How Different Is It Between Machine-Generated and Developer-Provided Patches? An Empirical Study on The Correct Patches Generated by Automated Program Repair Techniquescited by 3

Built on by

Not cited yet.