Objective
Background
Inductive programming incorporates all approaches which are concerned with learning programs or algorithms from incomplete specifications. Possible inputs in an IP system are (1) a set of training inputs and corresponding outputs or an output evaluation function, describing the desired behavior of the intended program, (2) traces or action sequences which describe the process of calculating specific outputs, (3) constraints for the program to be induced concerning its time efficiency or its complexity, (4) various kinds of background knowledge such as standard data types, predefined functions to be used, program schemes or templates describing the data flow of the intended program, (5) heuristics for guiding the search for a solution or other biases. Output of an IP system is a program in some arbitrary programming language containing conditionals and loop- or recursive control structures.
Classical and current approaches to inductive programming are inductive
synthesis of functional programs (extensions of Summers-like
strategies),
inductive logic programming, evolutionary computation, and grammar
inference. Typical areas of application are in the domain of software
engineering where structural learning, software assistants and software
agents can help to relieve programmers from routine tasks, give
programming support for endusers, or support of novice programmers
and programming tutor systems.
Further areas of application are
language learning, learning recursive control rules
for AI-planning, learning recursive concepts in
web-mining or for data-format transformations.
The AAIP workshop took place the first time in
August 2005 at the ICML in Bonn
(http://www.cogsys.wiai.uni-bamberg.de/aaip05/).
Invited speakers were Stephen Muggleton, Fritz
Wysotzki, and Marcus Hutter. Presentations were focussed on different
basic
approaches to inductive programming. At the end of the workshop a one
hour
discussion session brought many fruitful results with respect to
comparing the different approaches and application potential.
The approximately 25 participants encouraged the organizers to
continue this
workshop, since it is the only event where cross-fertilization from
different areas
(e.g., logic/functional/constraint programming, machine learning,
grammar
inference,
evolutionary programming) is possible for the problem of learning
programs
from incomplete specifications.
Goals of the Workshop
In the workshop, we aim at bringing together researchers working on different approaches to inductive programming with the goal of discussing and evaluating the relative strengths and limitations of the different approaches (class of learnable programs, quality of learned programs, amount of background knowledge needed for synthesis, efficiency of synthesis, etc.). Furthermore, we are interested in presenting current applications and discussing possible further application domains.
Participants
The workshop will be interesting to anyone studying the inductive synthesis of general programs in any aspect.
Topics of interest include but are not limited to:
- New approaches of synthesis of recursive programs with techniques from inductive logic programming, genetic programming, synthesis of functional programs, grammar inference.
- Theoretical analyses of learnability of classes of recursive/loop programs.
- Applications of inductive synthesis of general programs in the context of software engineering, such as programming support for endusers, novice programmers and routine programming.
- Applications of inductive synthesis of general programs for policy learning, language learning, web-mining, data transformation.