Results 11 -
14 of
14
Incremental Inductive Programming
"... Inductive Programming (IP) refers to the automated generation of computer programs from incomplete specifications, such as input-output examples. We introduce a new technique called Incremental Inductive Programming (IIP), which combines IP with transfer learning, as a way to get IP to scale up to m ..."
Abstract
- Add to MetaCart
Inductive Programming (IP) refers to the automated generation of computer programs from incomplete specifications, such as input-output examples. We introduce a new technique called Incremental Inductive Programming (IIP), which combines IP with transfer learning, as a way to get IP to scale up to more complex problems. Using a simple, brute-force search based IP system implemented for the purpose, we perform a set of experiments comparing the performance of IIP versus standard non-incremental IP. IIP
Ideas for Connecting Inductive Program Synthesis and Bidirectionalization
"... We share a vision of connecting the topics of bidirectional transformation and inductive program synthesis, by proposing to use the latter in approaching problematic aspects of the former. This research perspective does not present accomplished results, rather opening discussion and describing exper ..."
Abstract
- Add to MetaCart
We share a vision of connecting the topics of bidirectional transformation and inductive program synthesis, by proposing to use the latter in approaching problematic aspects of the former. This research perspective does not present accomplished results, rather opening discussion and describing experiments designed to explore the potential of inductive program synthesis for bidirectionalization (the act of automatically producing a backwards from a forwards transformation), in particular to address the issue of integrating programmer intentions and expectations. Categories and Subject Descriptors I.2.2 [Artificial Intelligence]: Automatic Programming—Program synthesis; D.1.2 [Programming
Algorithms, Theory
"... In this paper, we study the problem of automatically solving ruler/compass based geometry construction problems. We first introduce a logic and a programming language for describing such constructions and then phrase the automation problem as a program synthesis problem. We then describe a new progr ..."
Abstract
- Add to MetaCart
In this paper, we study the problem of automatically solving ruler/compass based geometry construction problems. We first introduce a logic and a programming language for describing such constructions and then phrase the automation problem as a program synthesis problem. We then describe a new program synthesis technique based on three key insights: (i) reduction of symbolic reasoning to concrete reasoning (based on a deep theoretical result that reduces verification to random testing), (ii) extending the instruction set of the programming language with higher level primitives (representing basic constructions found in textbook chapters, inspired by how humans use their experience and knowledge gained from chapters to perform complicated constructions), and (iii) pruning the forward exhaustive search using a goal-directed heuristic (simulating backward reasoning performed by humans). Our tool can successfully synthesize constructions for various geometry problems picked up from high-school textbooks and examination papers in a reasonable amount of time. This opens up an amazing set of possibilities in the context of making classroom teaching interactive.
Proceedings of AAIP 2011 4th International Workshop on Approaches and Applications of Inductive Programming
"... Inductive programming is concerned with the automated construction of computer program code – typically including control structures like branching and recursion or loops – from incomplete specifications such as input/output examples. Inferred programs must be correct with respect to the provided ex ..."
Abstract
- Add to MetaCart
Inductive programming is concerned with the automated construction of computer program code – typically including control structures like branching and recursion or loops – from incomplete specifications such as input/output examples. Inferred programs must be correct with respect to the provided examples in a generalizing sense: they should neither be equivalent to them, nor inconsistent. Applications in the focus of inductive programming are, among others, automated software development, algorithm design, end-user programming, cognitive modeling, and self-programming intelligent agents. Inductive programming is studied in different communities such as artificial intelligence, evolutionary computation, and programming languages and systems and has been tackled by different approaches like syntactic recurrence detection in sets of input/output terms, inductive reasoning, generate-and-test search in program spaces, and SAT and SMT solving. The Workshop on Approaches and Applications of Inductive Programming (AAIP) series aims at bringing together researchers who are interested in inductive programming and to advance fruitful interaction between the different communities with respect to inductive programming approaches and algorithms, challenge problems, and potential applications. This year, AAIP took place in

