Conference

# Approaches and Applications of Inductive Programming

About: Approaches and Applications of Inductive Programming is an academic conference. The conference publishes majorly in the area(s): Inductive programming & Programming domain. Over the lifetime, 9 publication(s) have been published by the conference receiving 154 citation(s).

Topics: Inductive programming, Programming domain, Functional reactive programming, Procedural programming, Data type

##### Papers

More filters

••

04 Sep 2009TL;DR: Theoretical results and methods of inductive program synthesis that have been developed in different research fields until today are surveyed.

Abstract: Inductive programming (IP)—the use of inductive reasoning methods for programming, algorithm design, and software development—is a currently emerging research field. A major subfield is inductive program synthesis, the (semi-)automatic construction of programs from exemplary behavior. Inductive program synthesis is not a unified research field until today but scattered over several different established research fields such as machine learning, inductive logic programming, genetic programming, and functional programming. This impedes an exchange of theory and techniques and, as a consequence, a progress of inductive programming. In this paper we survey theoretical results and methods of inductive program synthesis that have been developed in different research fields until today.

87 citations

••

04 Sep 2009

TL;DR: It is shown that the enumeration function can be used to generate the terms of simply typed lambda calculus and the improved Spine is described, which allows for the definition of generic producers for existentials.

Abstract: We use generic programming techniques to generate well-typed lambda terms. We encode well-typed terms by means of generalized algebraic datatypes (GADTs) and existential types. The Spine approach to generic programming supports GADTs, but it does not support the definition of generic producers for existentials. We describe how to extend the Spine approach to support existentials and we use the improved Spine to define a generic enumeration function. We show that the enumeration function can be used to generate the terms of simply typed lambda calculus.

20 citations

••

04 Sep 2009TL;DR: Two recent improvements to MagicHaskeller are introduced, i.e. clarification and extension to arbitrary-rank polymorphism of its algorithm, and efficiency improvement in its filtration algorithm that removes redundancy in the search results.

Abstract: MagicHaskeller is our inductive functional programming library based on systematic search. In this paper we introduce two recent improvements to MagicHaskeller, i.e. 1) clarification and extension to arbitrary-rank polymorphism of its algorithm, and 2) efficiency improvement in its filtration algorithm that removes redundancy in the search results.

20 citations

••

04 Sep 2009TL;DR: It is described how, given some assumptions, inductive programming with incremental learning can be shown to have a polynomial, rather than exponential, time complexity with respect to the size of the program to be generated.

Abstract: Inductive programming systems characteristically exhibit an exponential explosion in search time as one increases the size of the programs to be generated. As a way of overcoming this, we introduce incremental learning, a process in which an inductive programming system automatically modifies its inductive bias towards some domain through solving a sequence of gradually more difficult problems in that domain. We demonstrate a simple form of incremental learning in which a system incorporates solution programs into its background knowledge as it progresses through a sequence of problems. Using a search-based inductive functional programming system modelled on the MagicHaskeller system of Katayama [4], we perform a set of experiments comparing the performance of inductive programming with and without incremental learning. Incremental learning is shown to produce a performance improvement of at least a factor of thirty on each of the four problem sequences tested. We describe how, given some assumptions, inductive programming with incremental learning can be shown to have a polynomial, rather than exponential, time complexity with respect to the size of the program to be generated. We discuss the difficulties involved in constructing suitable problem sequences for our incremental learning system, and consider what improvements can be made to overcome these difficulties.

9 citations

••

04 Sep 2009TL;DR: This paper describes how, for the purpose necessary features of the homoiconic language Maude, especially the treatment of code as data and vice versa, can be simulated in Haskell using a stateful monad transformer which makes type and class information available.

Abstract: This paper describes our efforts and solutions in porting our IP system Igor 2 from the termrewriting language Maude to Haskell. We describe how, for our purpose necessary features of the homoiconic language Maude, especially the treatment of code as data and vice versa, can be simulated in Haskell using a stateful monad transformer which makes type and class information available. With our new implementation we are now able to use higher-order context during our synthesis and extract information from type classes useable as background knowledge. Keeping our new implementation as close as possible to our old, we could keep all features of our system.

6 citations