English
Related papers

Related papers: Synthesize, Execute and Debug: Learning to Repair …

200 papers

Neural inductive program synthesis is a task generating instructions that can produce desired outputs from given inputs. In this paper, we focus on the generation of a chunk of assembly code that can be executed to match a state change…

Machine Learning · Computer Science 2019-10-15 Yifan Xu , Lu Dai , Udaikaran Singh , Kening Zhang , Zhuowen Tu

Recent years, deep learning is increasingly prevalent in the field of Software Engineering (SE). However, many open issues still remain to be investigated. How do researchers integrate deep learning into SE problems? Which SE phases are…

Software Engineering · Computer Science 2018-05-15 Xiaochen Li , He Jiang , Zhilei Ren , Ge Li , Jingxuan Zhang

Even as deep neural networks have become very effective for tasks in vision and perception, it remains difficult to explain and debug their behavior. In this paper, we present a programmatic and semantic approach to explaining,…

Computer Vision and Pattern Recognition · Computer Science 2020-06-18 Edward Kim , Divya Gopinath , Corina Pasareanu , Sanjit Seshia

Sequence generation applications require satisfying semantic constraints, such as ensuring that programs are correct, using certain keywords, or avoiding undesirable content. Language models, whether fine-tuned or prompted with few-shot…

Computation and Language · Computer Science 2022-11-02 Sean Welleck , Ximing Lu , Peter West , Faeze Brahman , Tianxiao Shen , Daniel Khashabi , Yejin Choi

Deep neural networks have achieved impressive supervised classification performance in many tasks including image recognition, speech recognition, and sequence to sequence learning. However, this success has not been translated to…

Machine Learning · Computer Science 2016-08-05 Arvind Neelakantan , Quoc V. Le , Ilya Sutskever

When writing programs, people have the ability to tackle a new complex task by decomposing it into smaller and more familiar subtasks. While it is difficult to measure whether neural program synthesis methods have similar capabilities, what…

Machine Learning · Computer Science 2023-10-31 Kensen Shi , Joey Hong , Manzil Zaheer , Pengcheng Yin , Charles Sutton

Researchers have developed numerous debugging approaches to help programmers in the debugging process, but these approaches are rarely used in practice. In this paper, we investigate how programmers debug their code and what researchers…

Software Engineering · Computer Science 2021-03-24 Thomas Hirsch , Birgit Hofer

Program synthesis--the automated generation of executable code from high-level specifications--has been a central goal of computer science for over fifty years. This thesis provides a comparative literature review of the main paradigms that…

Programming Languages · Computer Science 2025-08-04 Zurabi Kobaladze , Anna Arnania , Tamar Sanikidze

We consider the problem of learning to repair programs from diagnostic feedback (e.g., compiler error messages). Program repair is challenging for two reasons: First, it requires reasoning and tracking symbols across source code and…

Software Engineering · Computer Science 2020-07-01 Michihiro Yasunaga , Percy Liang

Block-based visual programming environments play an increasingly important role in introducing computing concepts to K-12 students. In recent years, they have also gained popularity in neuro-symbolic AI, serving as a benchmark to evaluate…

Artificial Intelligence · Computer Science 2023-05-30 Alperen Tercan , Ahana Ghosh , Hasan Ferit Eniser , Maria Christakis , Adish Singla

Recently developed deep neural models like NetGAN, CELL, and Variational Graph Autoencoders have made progress but face limitations in replicating key graph statistics on generating large graphs. Diffusion-based methods have emerged as…

Machine Learning · Computer Science 2023-10-31 Mingyang Wu , Xiaohui Chen , Li-Ping Liu

The problem of automatically generating a computer program from some specification has been studied since the early days of AI. Recently, two competing approaches for automatic program learning have received significant attention: (1)…

Artificial Intelligence · Computer Science 2017-03-23 Jacob Devlin , Jonathan Uesato , Surya Bhupatiraju , Rishabh Singh , Abdel-rahman Mohamed , Pushmeet Kohli

Neural program embedding can be helpful in analyzing large software, a task that is challenging for traditional logic-based program analyses due to their limited scalability. A key focus of recent machine-learning advances in this area is…

Machine Learning · Computer Science 2019-05-29 Ke Wang , Mihai Christodorescu

Symbolic quick error detection (SQED) has greatly improved efficiency in formal chip verification. However, it has a limitation in detecting single-instruction bugs due to its reliance on the self-consistency property. To address this, we…

Software Engineering · Computer Science 2024-04-09 Yufeng Li , Qiusong Yang , Yiwei Ci , Enyuan Tian

In collaborative software development, program merging is the mechanism to integrate changes from multiple programmers. Merge algorithms in modern version control systems report a conflict when changes interfere textually. Merge conflicts…

Software Engineering · Computer Science 2021-09-08 Elizabeth Dinella , Todd Mytkowicz , Alexey Svyatkovskiy , Christian Bird , Mayur Naik , Shuvendu K. Lahiri

Debugging is a central yet complex activity in software engineering. Prior studies have documented debugging strategies and tool usage, but little theory explains how experienced developers reason about bugs in large, real-world codebases.…

Software Engineering · Computer Science 2026-02-13 Haolin Li , Michael Coblenz

In many sequence learning tasks, such as program synthesis and document summarization, a key problem is searching over a large space of possible output sequences. We propose to learn representations of the outputs that are specifically…

Machine Learning · Computer Science 2021-08-09 Joey Hong , David Dohan , Rishabh Singh , Charles Sutton , Manzil Zaheer

Increasing demands in software industry and scarcity of software engineers motivates researchers and practitioners to automate the process of software generation and configuration. Large scale automatic software generation and configuration…

Software Engineering · Computer Science 2023-05-31 Shantanu Mandal

Programming has been an important skill for researchers and practitioners in computer science and other related areas. To learn basic programing skills, a long-time systematic training is usually required for beginners. According to a…

Artificial Intelligence · Computer Science 2018-05-23 Jiawei Zhang , Limeng Cui , Fisher B. Gouza

Aiming to find a program satisfying the user intent given input-output examples, program synthesis has attracted increasing interest in the area of machine learning. Despite the promising performance of existing methods, most of their…

Machine Learning · Computer Science 2022-05-18 Di Huang , Rui Zhang , Xing Hu , Xishan Zhang , Pengwei Jin , Nan Li , Zidong Du , Qi Guo , Yunji Chen