Exploring Plausible Patches Using Source Code Embeddings in JavaScript
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.
Code (2)
Tasks
Program RepairMethods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
ctELM: Decoding and Manipulating Embeddings of Clinical Trials with Embedding Language Models
Text embeddings have become an essential part of a variety of language applications. However, methods for interpreting, exploring and reversing embedding spaces are limited, reducing transparency and precluding potential…
Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT
Automated Program Repair (APR) aims to automatically generate patches for buggy programs. Recent APR work has been focused on leveraging modern Large Language Models (LLMs) to directly generate patches for APR. Such LLM-…
Program RepairClass-Aware Patch Embedding Adaptation for Few-Shot Image Classification
"A picture is worth a thousand words", significantly beyond mere a categorization. Accompanied by that, many patches of the image could have completely irrelevant meanings with the categorization if they were indepen…
Few-Shot Image ClassificationFew-Shot Learningimage-classificationImage ClassificationFirst Bilingual Word Embeddings for te reo Māori and English: Towards Code-switching Detection in a Low-resourced setting
Māori speakers are bilingual, where Māori is code-switched with English. With Māori being low-resourced for technology development, there are minimal resources available for Māori-English code-switch detection. This res…
Word EmbeddingsOn Multi-Modal Learning of Editing Source Code
In recent years, Neural Machine Translator (NMT) has shown promise in automatically editing source code. Typical NMT based code editor only considers the code that needs to be changed as input and suggests developers wit…
NMT