English
Related papers

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

200 papers

Synthesizing programs from examples requires searching over a vast, combinatorial space of possible programs. In this search process, a key challenge is representing the behavior of a partially written program before it can be executed, to…

Programming Languages · Computer Science 2021-04-21 Maxwell Nye , Yewen Pu , Matthew Bowers , Jacob Andreas , Joshua B. Tenenbaum , Armando Solar-Lezama

Multimodal program synthesis, which leverages different types of user input to synthesize a desired program, is an attractive way to scale program synthesis to challenging settings; however, it requires integrating noisy signals from the…

Computation and Language · Computer Science 2021-09-16 Xi Ye , Qiaochu Chen , Isil Dillig , Greg Durrett

Recently, a large number of efficient deep learning methods for solving inverse problems have been developed and show outstanding numerical performance. For these deep learning methods, however, a solid theoretical foundation in the form of…

Numerical Analysis · Mathematics 2020-02-04 Daniel Obmann , Johannes Schwab , Markus Haltmeier

Many software analysis methods have come to rely on machine learning approaches. Code segmentation - the process of decomposing source code into meaningful blocks - can augment these methods by featurizing code, reducing noise, and limiting…

Software Engineering · Computer Science 2019-07-23 Jacob Dormuth , Ben Gelman , Jessica Moore , David Slater

Semantic edge detection (SED), which aims at jointly extracting edges as well as their category information, has far-reaching applications in domains such as semantic segmentation, object proposal generation, and object recognition. SED…

Computer Vision and Pattern Recognition · Computer Science 2021-10-28 Yun Liu , Ming-Ming Cheng , Deng-Ping Fan , Le Zhang , JiaWang Bian , Dacheng Tao

Recently, a diverse set of decoding and reranking procedures have been shown effective for LLM-based code generation. However, a comprehensive framework that links and experimentally compares these methods is missing. We address this by…

Computation and Language · Computer Science 2024-10-17 Haau-Sing Li , Patrick Fernandes , Iryna Gurevych , André F. T. Martins

Recent years have seen the proposal of a number of neural architectures for the problem of Program Induction. Given a set of input-output examples, these architectures are able to learn mappings that generalize to new test inputs. While…

Artificial Intelligence · Computer Science 2016-11-08 Emilio Parisotto , Abdel-rahman Mohamed , Rishabh Singh , Lihong Li , Dengyong Zhou , Pushmeet Kohli

Deep learning, a rebranding of deep neural network research works, has achieved a remarkable success in recent years. With multiple hidden layers, deep learning models aim at computing the hierarchical feature representations of the…

Neural and Evolutionary Computing · Computer Science 2018-06-06 Jiawei Zhang , Limeng Cui , Fisher B. Gouza

Static analysis is one of the most widely adopted techniques to find software bugs before code is put in production. Designing and implementing effective and efficient static analyses is difficult and requires high expertise, which results…

Software Engineering · Computer Science 2019-06-04 Andrew Habib , Michael Pradel

Decompilers are useful tools used in reverse engineering to understand compiled source code. Reconstructing source code from compiled binaries is a challenging task, because high-level syntax, identifiers, and custom data types are…

Software Engineering · Computer Science 2026-05-13 Alexander Shypula , Osbert Bastani , Edward Schwartz

Programming by example is the problem of synthesizing a program from a small set of input / output pairs. Recent works applying machine learning methods to this task show promise, but are typically reliant on generating synthetic examples…

Machine Learning · Computer Science 2019-11-11 Judith Clymo , Haik Manukian , Nathanaël Fijalkow , Adrià Gascón , Brooks Paige

Program synthesis is the process of automatically translating a specification into computer code. Traditional synthesis settings require a formal, precise specification. Motivated by computer education applications where a student learns to…

Artificial Intelligence · Computer Science 2018-06-05 Evan Hernandez , Ara Vartanian , Xiaojin Zhu

Automated Program Repair (APR) helps improve the efficiency of software development and maintenance. Recent APR techniques use deep learning, particularly the encoder-decoder architecture, to generate patches. Though existing DL-based APR…

Software Engineering · Computer Science 2022-03-25 Qihao Zhu , Zeyu Sun , Yuan-an Xiao , Wenjie Zhang , Kang Yuan , Yingfei Xiong , Lu Zhang

We propose a new conflict-driven program synthesis technique that is capable of learning from past mistakes. Given a spurious program that violates the desired specification, our synthesis algorithm identifies the root cause of the conflict…

Programming Languages · Computer Science 2017-11-28 Yu Feng , Ruben Martins , Osbert Bastani , Isil Dillig

Reimplementing solutions to previously solved software engineering problems is not only inefficient but also introduces inadequate and error-prone code. Many existing methods achieve impressive performance on this issue by using…

Software Engineering · Computer Science 2022-10-04 Usama Nadeem , Noah Ziems , Shaoen Wu

Generative neural models hold great promise in enhancing programming education by synthesizing new content. We seek to design neural models that can automatically generate programming tasks for a given specification in the context of visual…

Machine Learning · Computer Science 2024-01-17 Victor-Alexandru Pădurean , Georgios Tzannetos , Adish Singla

A key challenge in program synthesis is the astronomical size of the search space the synthesizer has to explore. In response to this challenge, recent work proposed to guide synthesis using learned probabilistic models. Obtaining such a…

Programming Languages · Computer Science 2020-10-20 Shraddha Barke , Hila Peleg , Nadia Polikarpova

Deep learning methods have recently achieved great empirical success on machine translation, dialogue response generation, summarization, and other text generation tasks. At a high level, the technique has been to train end-to-end neural…

Computation and Language · Computer Science 2017-11-28 Ziang Xie

Automatic program repair holds the potential of dramatically improving the productivity of programmers during the software development process and correctness of software in general. Recent advances in machine learning, deep learning, and…

Software Engineering · Computer Science 2021-09-24 Hossein Hajipour , Apratim Bhattacharyya , Cristian-Alexandru Staicu , Mario Fritz

Deep neural networks have been increasingly used in software engineering and program analysis tasks. They usually take a program and make some predictions about it, e.g., bug prediction. We call these models neural program analyzers. The…

Machine Learning · Computer Science 2021-03-22 Md Rafiqul Islam Rabin , Ke Wang , Mohammad Amin Alipour