Dagstuhl-Seminar 15442
Approaches and Applications of Inductive Programming
( 25. Oct – 30. Oct, 2015 )
Permalink
Organisatoren
- José Hernández-Orallo (Technical University of Valencia, ES)
- Stephen H. Muggleton (Imperial College London, GB)
- Ute Schmid (Universität Bamberg, DE)
- Benjamin Zorn (Microsoft Research - Redmond, US)
Kontakt
- Andreas Dolzmann (für wissenschaftliche Fragen)
- Dagmar Glaser (für administrative Fragen)
Impacts
- Computer models solving intelligence test problems : Progress and implications : article, pp. 74-107 - Hernandez-Orallo, Jose; Martinez-Plumed, Fernando; Schmid, Ute; Siebers, Michael; Dowe, David L. - Amsterdam : Elsevier, 2016 - (Artificial intelligence : 230. 2016, pp.74-107).
- General-Purpose Inductive Programming for Data Wrangling Automation : presentation at NIPS 2016 Workshop Artificial Intelligence for Data Science, AI4DataSci 2016 : 4 pp. - Contreras-Ochando, Lidia; Martinez-Plumed, Fernando; Ferri, Cesar; Hernandez-Orallo, Jose; Ramirez-Quintana, Maria Jose - NIPS, 2016.
- Generating Tests by Example : article in LNCS 10747 : VMCAI 2018, International Conference on Verification, Model Checking, and Abstract Interpretation - Peleg, Hila; Rasin, Dan; Yahav, Eran - Berlin : Springer, 2017. - pp. 406-429 - (Lecture notes in computer science ; 10747).
- Historical account of computer models solving IQ test : accepted paper : "EGPAI 2016 : 1st International Workshop on Evaluating General-Purpose AI", pp. 20-21 - Martinez-Plumed, Fernando; Hernandez-Orallo, Jose; Schmid, Ute; Siebers, Michael; Dowe, David L. - EGPAI, 2016 - (International Workshop on Evaluating General-Purpose AI ; 1. 2016 : accepted paper).
- How does Predicate Invention affect Human Comprehensibility? : article in 26th International Conference on Inductive Logic Programming (ILP), 2016 - Besold, Tarek R.; Muggleton, Stephen H.; Schmid, Ute; Tamaddoni-Nezhad, Alireza; Zeller, Christina.
- Logging Data Scientists : Collecting Evidence for Data Science Automation : presentation at NIPS 2016 Workshop Artificial Intelligence for Data Science, AI4DataSci 2016 : 3 pp. - Contreras-Ochando, Lidia; Martinez-Plumed, Fernando; Ferri, Cesar; Hernandez-Orallo, Jose; Ramirez-Quintana, Maria Jose - NIPS, 2016.
Programm
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.
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.
- 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]
Verwandte Seminare
- 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)
- Dagstuhl-Seminar 25491: Approaches and Applications of Inductive Programming (2025-11-30 - 2025-12-05) (Details)
Klassifikation
- artificial intelligence / robotics
- programming languages / compiler
- semantics / formal methods
Schlagworte
- inductive program synthesis
- end-user programming
- constraint programming
- probabilistic programming
- cognitive modeling