paper-with-me

홈 › Papers

HOPPITY: LEARNING GRAPH TRANSFORMATIONS TO DETECT AND FIX BUGS IN PROGRAMS

2020-05-01 · ICLR 2020 1 · Elizabeth Dinella, Hanjun Dai, Ziyang Li, Mayur Naik, Le Song, Ke Wang

We present a learning-based approach to detect and fix a broad range of bugs in Javascript programs. We frame the problem in terms of learning a sequence of graph transformations: given a buggy program modeled by a graph structure, our model makes a sequence of predictions including the position of bug nodes and corresponding graph edits to produce a fix. Unlike previous works that use deep neural networks, our approach targets bugs that are more complex and semantic in nature (i.e.~bugs that require adding or deleting statements to fix). We have realized our approach in a tool called HOPPITY. By training on 290,715 Javascript code change commits on Github, HOPPITY correctly detects and fixes bugs in 9,490 out of 36,361 programs in an end-to-end fashion. Given the bug location and type of the fix, HOPPITY also outperforms the baseline approach by a wide margin.

📄 PDF Abstract BibTeX

Code (1)

AI-nstein/hoppity 공식 구현 pytorch

Tasks

Position

Similar Papers 제목 키워드 기반

Towards Runtime Verification of Programmable Switches

2020-04-22 · Apoorv Shukla, Kevin Hudemann, Zsolt Vági, Lily Hügerich 외

Is it possible to patch software bugs in P4 programs without human involvement? We show that this is partially possible in many cases due to advances in software testing and the structure of P4 programs. Our insight is t…

software testing

LLM-Powered Test Case Generation for Detecting Bugs in Plausible Programs

2024-04-16 · Kaibo Liu, Zhenpeng Chen, Yiyang Liu, Jie M. Zhang 외

Detecting tricky bugs in plausible programs, those that pass existing test suites yet still contain bugs, remains a significant challenge in software testing. To address this problem, we propose TrickCatcher, an LLM-powe…

software testing

Learning Semantic Program Embeddings with Graph Interval Neural Network

2020-05-18 · Yu Wang, Fengjuan Gao, Linzhang Wang, Ke Wang

Learning distributed representations of source code has been a challenging task for machine learning models. Earlier works treated programs as text so that natural language methods can be readily applied. Unfortunately, …

Graph Neural NetworkMethod name predictionVariable misuse

Generating Adversarial Computer Programs using Optimized Obfuscations

2021-03-18 · ICLR 2021 1 · Shashank Srikant, Sijia Liu, Tamara Mitrovska, Shiyu Chang 외

Machine learning (ML) models that learn and predict properties of computer programs are increasingly being adopted and deployed. These models have demonstrated success in applications such as auto-completing code, summar…

Adversarial Robustness

Using Graph Neural Networks for Program Termination

2022-07-28 · Yoav Alon, Cristina David

Termination analyses investigate the termination behavior of programs, intending to detect nontermination, which is known to cause a variety of program bugs (e.g. hanging programs, denial-of-service vulnerabilities). Bey…

Graph AttentionGraph Neural NetworkSegmentationSemantic Segmentation