TOP
Search the Dagstuhl Website
Looking for information on the websites of the individual seminars? - Then please:
Not found what you are looking for? - Some of our services have separate websites, each with its own search option. Please check the following list:
Schloss Dagstuhl - LZI - Logo
Schloss Dagstuhl Services
Seminars
Within this website:
External resources:
  • DOOR (for registering your stay at Dagstuhl)
  • DOSA (for proposing future Dagstuhl Seminars or Dagstuhl Perspectives Workshops)
Publishing
Within this website:
External resources:
dblp
Within this website:
External resources:
  • the dblp Computer Science Bibliography


Dagstuhl Seminar 15442

Approaches and Applications of Inductive Programming

( Oct 25 – Oct 30, 2015 )

(Click in the middle of the image to enlarge)

Permalink
Please use the following short url to reference this page: https://www.dagstuhl.de/15442

Organizers

Contact


Impacts

Schedule

Motivation

Inductive programming research addresses the problem of learning (mostly declarative) programs from incomplete specifications, such as input/output examples, observed traces, or constraints. Beginning in the 1960-ies, this area of research was initiated in artificial intelligence (AI) exploring the complex intellectual cognitive processes involved in producing program code which satisfies some specification. Furthermore, applications of AI for software engineering are investigated resulting in methodologies and techniques for automating parts of the program development process. Inductive programming can be seen as a very special subdomain of machine learning where the hypothesis space consists of classes of computer programs.

Nowadays, researchers working on inductive programming are distributed over different communities, especially inductive logic programming, evolutionary programming, grammar inference, functional programming, and programming languages and verification. Furthermore, similar approaches are of interest in programming by demonstration applications for end-user programming as well as in cognitive models of inductive learning.

The recent release of FlashFill as a plug-in inductive programming tool for Microsoft Excel is an impressive demonstration that inductive programming research has matured in such a way that commercial applications become feasible.

In the seminar, we aim to bring together researchers from different areas of computer science – especially from machine learning, AI, declarative programming, and software engineering – and researchers from cognitive psychology interested in inductive learning as well as in teaching and learning computer programming. Furthermore, participants from industry are encouraged to present current as well as visionary applications for inductive programming.

We will mainly address the following aspects which partially were identified as relevant topics during the previous seminar:

  • In-depth discussions of the different algorithmical approaches to inductive programming and identification of commonalities and differences as well as possibilities to combine approaches. While in the previous seminar the focus was on inductive logic programming and inductive functional programming, we plan to give more regard to evolutionary and search-based approaches in the current seminar.
  • Presentation of inductive programming systems and applications.
  • Discussion and further collaboration about the process of constructing a collection of benchmarks and problem repository for the inductive programming community.
  • Discussion of emerging methods such as meta-interpretative learning and higher-order functions.
  • Relative merits of domain-specific versus general approaches.
  • Analysis of the perspectives and applications of inductive programming as a tool for incremental knowledge acquisition in the areas of developmental robotics, knowledge-based systems, deep architectures, etc.
  • Relations of inductive programming and cognitive processes of inductive generalization.
  • Applications of inductive programming in the context of teaching and learning computer programming.

Summary

Inductive programming research addresses the problem of learning (mostly declarative) programs from incomplete specifications, such as input/output examples, observed traces, or constraints. Beginning in the 1960s, this area of research was initiated in artificial intelligence (AI) exploring the complex intellectual cognitive processes involved in producing program code which satisfies some specification. Furthermore, applications of AI for software engineering are investigated resulting in methodologies and techniques for automating parts of the program development process. Inductive programming can be seen as a very special subdomain of machine learning where the hypothesis space consists of classes of computer programs.

Nowadays, researchers working on inductive programming are distributed over different communities, especially inductive logic programming, evolutionary programming, grammar inference, functional programming, and programming languages and verification. Furthermore, similar approaches are of interest in programming by demonstration applications for end-user programming as well as in cognitive models of inductive learning.

The recent release of FlashFill as a plug-in inductive programming tool for Microsoft Excel is an impressive demonstration that inductive programming research has matured in such a way that commercial applications become feasible. Similarly, the field has attracted widespread interest in computer science as a whole, as illustrated by the recent review article published by the Communications of the ACM [1].

In the seminar, we brought together researchers from different areas of computer science – especially from machine learning, AI, declarative programming, and software engineering – and researchers from cognitive psychology interested in inductive learning as well as in teaching and learning computer programming. Furthermore, participants from industry presented current as well as visionary applications for inductive programming.

We addressed many aspects which partially were identified as relevant topics during the previous Dagstuhl Deminar 13502 (http://www.dagstuhl.de/13502). In particular, we had the following sessions for presentations:

  • Session: General techniques, languages and systems for inductive logic and inductive functional programming.
  • Session: End-user programming, programming by example and applications
  • Session: Program synthesis and transformation
  • Cognitive Aspects of Induction

In addition, we had several systems demos and tutorials (some of them `hands-on'):

  • System demo on Metagol.
  • Hands-on-Tutorial: The MagicHaskeller Library and Server System
  • Tutorial: FlashMeta SDK for creating programming-by-example tools
  • Tutorial: Sketch synthesis infrastructure

The seminar also included a DemoFest, where several systems were demonstrated in small groups in a relaxed atmosphere.

The first and second days the following topics were identified and further discussed in working groups during the rest of the seminar:

  • Benchmarks, Evaluation, and Applications
  • General-Purpose IP Infrastructures and Applicability and Evaluation Criteria for IP Approaches in the Context of AI
  • Probabilities in IP

Concluding remarks and future plans

In the final panel discussion the results of the seminar were summarised as well as future plans.

Regarding the seminar, there were several suggestions that topics should be more mixed, instead of grouping them too much into "silo" sessions. About the format of the seminar, there was a general agreement that the change from half a week to one week had been beneficial, and that the DemoFest had been a real success. Indeed, the possibility of having several independent demos earlier in the week and more demo sessions (or DemoFests) was a possible suggestion for subsequent meetings.

The following topics were elaborated about future actions:

  • Make the community and the area more visible through tutorials and workshops at major conferences, or summer schools.
  • Integrate tools, demos, videos, tutorials and other kinds of material at www.inductive-programming.org/resources.html
  • Focus on benchmarks and a common representation language for problems, and use the inductive-programming website to publish the benchmarks. Organise competitions (or hackathons building apps that use the underlying IP engines).
  • Revitalise the mailing list (at the moment of writing this report the list is fully operative again, see http://www.inductive-programming.org/)
  • Attract people from other areas (e.g., cognitive robotics).
  • Change the frequency of the meetings to a 1-year cadence, with perhaps Dagstuhl every other year and a competition or summer school in between.

Overall, the main conclusion can be summarised as the realisation of a very significant progress in techniques and its exploitation in new applications, so it is now time to strengthen the visibility of the IP research and its community, for which this Dagstuhl seminar has served as a lever.

Copyright José Hernández-Orallo, Stephen H. Muggleton, Ute Schmid, and Benjamin Zorn

Participants
  • Umair Zafrulla Ahmed (Indian Institute of Technology - Kanpur, IN) [dblp]
  • Tarek Richard Besold (Free University of Bozen-Bolzano, IT) [dblp]
  • Harold Boley (University of New Brunswick at Fredericton, CA) [dblp]
  • Andrew Cropper (Imperial College London, GB) [dblp]
  • Luc De Raedt (KU Leuven, BE) [dblp]
  • Cesar Ferri Ramirez (Technical University of Valencia, ES) [dblp]
  • Sumit Gulwani (Microsoft Corporation - Redmond, US) [dblp]
  • José Hernández-Orallo (Technical University of Valencia, ES) [dblp]
  • Petra Hofstedt (TU Cottbus, DE) [dblp]
  • Frank Jäkel (Universität Osnabrück, DE) [dblp]
  • Susumu Katayama (University of Miyazaki, JP) [dblp]
  • William B. Langdon (University College London, GB) [dblp]
  • Fernando Martinez-Plumed (Technical University of Valencia, ES) [dblp]
  • Martin Möhrmann (Universität Osnabrück, DE) [dblp]
  • Stephen H. Muggleton (Imperial College London, GB) [dblp]
  • Hila Peleg (Technion - Haifa, IL) [dblp]
  • Ruzica Piskac (Yale University, US) [dblp]
  • Maria José Ramirez Quintana (Technical University of Valencia, ES) [dblp]
  • Ute Schmid (Universität Bamberg, DE) [dblp]
  • Michael Siebers (Universität Bamberg, DE) [dblp]
  • Rishabh Singh (Microsoft Research - Redmond, US) [dblp]
  • Gustavo Soares (Universidade Federal - Campina Grande, BR) [dblp]
  • Armando Solar-Lezama (MIT - Cambridge, US) [dblp]
  • Claes Strannegård (Chalmers - Göteborg, SE) [dblp]
  • Lorijn van Rooijen (Universität Paderborn, DE) [dblp]
  • Janis Voigtländer (Universität Bonn, DE) [dblp]
  • Christina Zeller (Universität Bamberg, DE) [dblp]
  • Benjamin Zorn (Microsoft Research - Redmond, US) [dblp]

Related Seminars
  • Dagstuhl Seminar 13502: Approaches and Applications of Inductive Programming (2013-12-08 - 2013-12-11) (Details)
  • Dagstuhl Seminar 17382: Approaches and Applications of Inductive Programming (2017-09-17 - 2017-09-20) (Details)
  • Dagstuhl Seminar 19202: Approaches and Applications of Inductive Programming (2019-05-12 - 2019-05-17) (Details)
  • Dagstuhl Seminar 21192: Approaches and Applications of Inductive Programming (2021-05-09 - 2021-05-12) (Details)
  • Dagstuhl Seminar 23442: Approaches and Applications of Inductive Programming (2023-10-29 - 2023-11-03) (Details)

Classification
  • artificial intelligence / robotics
  • programming languages / compiler
  • semantics / formal methods

Keywords
  • inductive program synthesis
  • end-user programming
  • constraint programming
  • probabilistic programming
  • cognitive modeling