English
Related papers

Related papers: Data-Driven Program Completion

200 papers

When giving automated feedback to a student working on a beginner's exercise, many programming tutors run into a completeness problem. On the one hand, we want a student to experiment freely. On the other hand, we want a student to write…

Human-Computer Interaction · Computer Science 2020-11-17 Niek Mulleners , Johan Jeuring , Bastiaan Heeren

Asynchronous programming is widely adopted for building responsive and efficient software, and modern languages such as C# provide async/await primitives to simplify the use of asynchrony. In this paper, we propose an approach for…

Programming Languages · Computer Science 2022-09-15 Sidi Mohamed Beillahi , Ahmed Bouajjani , Constantin Enea , Shuvendu Lahiri

Program synthesis techniques construct or infer programs from user-provided specifications, such as input-output examples. Yet most specifications, especially those given by end-users, leave the synthesis problem radically ill-posed,…

Artificial Intelligence · Computer Science 2020-10-22 Yewen Pu , Kevin Ellis , Marta Kryven , Josh Tenenbaum , Armando Solar-Lezama

Inspired by a concrete industry problem we consider the input synthesis problem for hybrid systems: given a hybrid system that is subject to input from outside (also called disturbance or noise), find an input sequence that steers the…

Systems and Control · Computer Science 2016-02-22 Takumi Akazaki , Ichiro Hasuo , Kohei Suenaga

While program comprehension tools often use static program analysis techniques to obtain useful information, they usually work only with sufficiently scalable techniques with limited precision. A possible improvement of this approach is to…

Software Engineering · Computer Science 2025-03-21 Robert Husák , Jan Kofroň , Filip Zavoral

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

Stochastic algorithms are efficient approaches to solving machine learning and optimization problems. In this paper, we propose a general framework called Splash for parallelizing stochastic algorithms on multi-node distributed systems.…

Machine Learning · Computer Science 2015-09-24 Yuchen Zhang , Michael I. Jordan

Static program slicing is a fundamental technique in software engineering. Traditional static slicing tools rely on parsing complete source code, which limits their applicability to real-world scenarios where code snippets are incomplete or…

Software Engineering · Computer Science 2025-09-23 Pengfei He , Shaowei Wang , Tse-Hsun Chen

Refactoring is a widespread practice that helps developers to improve the maintainability and readability of their code. However, there is a limited number of studies empirically investigating the actual motivations behind specific…

Software Engineering · Computer Science 2018-08-07 Danilo Silva , Nikolaos Tsantalis , Marco Tulio Valente

We propose a novel method for automatic program synthesis. P-Tree Programming represents the program search space through a single probabilistic prototype tree. From this prototype tree we form program instances which we evaluate on a given…

Artificial Intelligence · Computer Science 2017-07-13 Christian Oesch

Code super-optimization is the task of transforming any given program to a more efficient version while preserving its input-output behaviour. In some sense, it is similar to the paraphrase problem from natural language processing where the…

Machine Learning · Computer Science 2017-06-29 Rudy Bunel , Alban Desmaison , M. Pawan Kumar , Philip H. S. Torr , Pushmeet Kohli

Static program slicing is a fundamental software engineering technique for isolating code relevant to specific variables. While recent learning-based approaches using language models (LMs) show promise in automating slice prediction, they…

Software Engineering · Computer Science 2026-05-12 Pengfei He , Shaowei Wang , Tse-Hsun Chen , Muhammad Asaduzzaman

The goal of program synthesis is to automatically generate programs in a particular language from corresponding specifications, e.g. input-output behavior. Many current approaches achieve impressive results after training on randomly…

Machine Learning · Computer Science 2020-01-01 Richard Shin , Neel Kant , Kavi Gupta , Christopher Bender , Brandon Trabucco , Rishabh Singh , Dawn Song

Program synthesis from incomplete specifications (e.g. input-output examples) has gained popularity and found real-world applications, primarily due to its ease-of-use. Since this technology is often used in an interactive setting,…

Programming Languages · Computer Science 2017-03-13 Vu Le , Daniel Perelman , Oleksandr Polozov , Mohammad Raza , Abhishek Udupa , Sumit Gulwani

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These…

Programming Languages · Computer Science 2019-05-23 Kunal Banerjee , Chandan Karfa

In the present paper we formally define the notion of abstract program slicing, a general form of program slicing where properties of data are considered instead of their exact value. This approach is applied to a language with numeric and…

Logic in Computer Science · Computer Science 2016-05-20 Isabella Mastroeni , Damiano Zanardini

Worked examples (solutions to typical programming problems presented as a source code in a certain language and are used to explain the topics from a programming class) are among the most popular types of learning content in programming…

Human-Computer Interaction · Computer Science 2023-12-05 Mohammad Hassany , Peter Brusilovsky , Jiaze Ke , Kamil Akhuseyinoglu , Arun Balajiee Lekshmi Narayanan

We introduce transductive program synthesis, a new formulation of the program synthesis task that explicitly leverages test inputs during synthesis. While prior approaches to program synthesis--whether based on natural language descriptions…

Artificial Intelligence · Computer Science 2025-10-22 Kang-il Lee , Jahyun Koo , Seunghyun Yoon , Minbeom Kim , Hyukhun Koh , Dongryeol Lee , Kyomin Jung

Software architecture is receiving increasingly attention as a critical design level for software systems. As software architecture design resources (in the form of architectural specifications) are going to be accumulated, the development…

Software Engineering · Computer Science 2009-09-25 Jianjun Zhao

Program synthesis has seen many new applications in recent years, in large part thanks to the introduction of SyGuS. However, no existing SyGuS solvers have support for synthesizing recursive functions. We introduce an multi-phase algorithm…

Programming Languages · Computer Science 2021-08-20 Shmuel Berman , Mark Santolucito