English
Related papers

Related papers: Programming by Example Made Easy

200 papers

In Programming by Example, a system attempts to infer a program from input and output examples, generally by searching for a composition of certain base functions. Performing a naive brute force search is infeasible for even mildly involved…

Artificial Intelligence · Computer Science 2012-09-19 Aditya Krishna Menon , Omer Tamuz , Sumit Gulwani , Butler Lampson , Adam Tauman Kalai

Synthesis from examples enables non-expert users to generate programs by specifying examples of their behavior. A domain-specific form of such synthesis has been recently deployed in a widely used spreadsheet software product. In this paper…

Formal Languages and Automata Theory · Computer Science 2017-05-25 Mikaël Mayer , Jad Hamza , Viktor Kuncak

Behavior Engineering (BE) provides a rigorous way to derive a formal specification of a software system from the requirements written in natural language. Its graphical specification language, Behavior Tree (BT), has been used with success…

Software Engineering · Computer Science 2014-01-22 Kushal Ahmed , Toby Myers , Lian Wen , Abdul Sattar

This paper presents Automatic Algorithm Discoverer (AAD), an evolutionary framework for synthesizing programs of high complexity. To guide evolution, prior evolutionary algorithms have depended on fitness (objective) functions, which are…

Neural and Evolutionary Computing · Computer Science 2019-04-08 Ruchira Sasanka , Konstantinos Krommydas

Software developers often repeat code changes, known as "code change patterns" (CPATs), within and across projects. Automating these CPATs accelerates development, but current Transformation by Example (TBE) techniques are limited by the…

Software Engineering · Computer Science 2024-06-18 Malinda Dilhara , Abhiram Bellur , Timofey Bryksin , Danny Dig

Many approaches to program synthesis perform a search within an enormous space of programs to find one that satisfies a given specification. Prior works have used neural models to guide combinatorial search algorithms, but such approaches…

Machine Learning · Computer Science 2023-10-31 Kensen Shi , Hanjun Dai , Kevin Ellis , Charles Sutton

Optimizing an expensive-to-query function is a common task in science and engineering, where it is beneficial to keep the number of queries to a minimum. A popular strategy is Bayesian optimization (BO), which leverages probabilistic models…

Machine Learning · Computer Science 2019-07-05 Willie Neiswanger , Kirthevasan Kandasamy , Barnabas Poczos , Jeff Schneider , Eric Xing

The discipline of Software Engineering (SE) allows students to understand specific concepts or problems while designing software. Empowering students with the necessary knowledge and skills for the software industry is challenging for…

Software Engineering · Computer Science 2025-03-25 Tiago P. Bonetti , Williamson Silva , Thelma E. Colanzi

Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate…

Programming Languages · Computer Science 2023-10-31 Augustus Odena , Kensen Shi , David Bieber , Rishabh Singh , Charles Sutton , Hanjun Dai

Effective data analytics on data collected from the real world usually begins with a notoriously expensive pre-processing step of data transformation and wrangling. Programming By Example (PBE) systems have been proposed to automatically…

The formalism of Bayesian model selection provides a very elegant way of ranking different physical models in terms of how compatible they are with a given set of observed data. However, its practical application is often hampered by the…

Cosmology and Nongalactic Astrophysics · Physics 2026-01-19 Nathan Cohen , Jan Hamann , Ameek Malhotra

The automatic generation of computer programs is one of the main applications with practical relevance in the field of evolutionary computation. With program synthesis techniques not only software developers could be supported in their…

Neural and Evolutionary Computing · Computer Science 2021-08-30 Dominik Sobania , Dirk Schweim , Franz Rothlauf

Word embedding (WE) techniques are advanced textual semantic representation models oriented from the natural language processing (NLP) area. Inspired by their effectiveness in facilitating various NLP tasks, more and more researchers…

Software Engineering · Computer Science 2025-05-26 Xiaohan Chen , Weiqin Zou , Lianyi Zhi , Qianshuang Meng , Jingxuan Zhang

Personalization customizes information access. The PIPE ("Personalization is Partial Evaluation") modeling methodology represents interaction with an information space as a program. The program is then specialized to a user's known…

Human-Computer Interaction · Computer Science 2007-05-23 Naren Ramakrishnan , Mary Beth Rosson , John M. Carroll

Two prominent challenges in explainability research involve 1) the nuanced evaluation of explanations and 2) the modeling of missing information through baseline representations. The existing literature introduces diverse evaluation…

Machine Learning · Computer Science 2024-12-24 Oren Barkan , Yehonatan Elisha , Jonathan Weill , Noam Koenigstein

Providing examples is one of the most common way for end-users to interact with program synthesizers. However, program synthesis systems assume that examples consistent with the program are chosen at random, and do not exploit the fact that…

Artificial Intelligence · Computer Science 2022-04-07 Saujas Vaduguru , Kevin Ellis , Yewen Pu

Data programming is a programmatic weak supervision approach to efficiently curate large-scale labeled training data. Writing data programs (labeling functions) requires, however, both programming literacy and domain expertise. Many subject…

Machine Learning · Computer Science 2020-09-17 Sara Evensen , Chang Ge , Dongjin Choi , Çağatay Demiralp

We formalize and study ``programming by rewards'' (PBR), a new approach for specifying and synthesizing subroutines for optimizing some quantitative metric such as performance, resource utilization, or correctness over a benchmark. A PBR…

Compositional AI systems, which combine multiple artificial intelligence components together with other application components to solve a larger problem, have no known pattern of development and are often approached in a bespoke and ad hoc…

Collaborative filtering (CF) is a core technique for recommender systems. Traditional CF approaches exploit user-item relations (e.g., clicks, likes, and views) only and hence they suffer from the data sparsity issue. Items are usually…

Information Retrieval · Computer Science 2020-10-19 Guangneng Hu