Pierre Flener's Former Research
In a former life, my interest in high-level abstractions for programming addressed something else than constraint problems. Here follows a reading guide to those early publications.
Connecting Theory with Practice
I have some strong opinions on the research areas where I am active, arguing why certain research avenues should not be explored, listing directions for future research, debunking existing prejudice of detractors, etc, all this with the purpose of achieving a stronger connection between theory and practice:- With Baudouin Le Charlier (Université Catholique de Louvain, Belgium), I explored the role of the so-called Formal Methods in Computer Science. In a first paper [LCF98], we exposed the nonsense behind the concept of "formal specification".
- We applied these insights in order to argue for the desirable link between theory and practice in the field of abstract interpretation [LCF97].
- With Derek Partridge (University of Exeter, UK), I argued for the necessity of an inductive programming approach in suitable software engineering projects [FP01].
- With Lubos Popelinsky, I addressed some prejudice regarding the inductive synthesis of (recursive) programs (see below) [FP94].
- With Serap Yilmaz, I discussed current research results and trends in that area [FY99].
Schema-guided Deductive Synthesis of Programs
With Kung-Kiu Lau (University of Manchester, UK), Mario Ornaghi (University of Milan, Italy), and Julian Richardson (then at Heriot-Watt University, UK), I investigated the definition, representation, semantics, and applications of program schemas, and their usage in effectively guiding the deductive synthesis of (logic) programs, such that they are correct and a priori correctly reusable [FLO97, FLO98, FLOR99, FLOR00]. Specifications, programs, and schemas are expressed in the first-order language of a domain theory, which is called a specification framework. Significant leverage over traditional synthesis approaches is achieved by this combination of frameworks and schemas.
With Julian Richardson, I proposed a unified view of program schemas and proof planning methods, so as to encode the former as the latter. This allows the reuse of any proof planner, such as Clam, as an implementation platform for designing an (automated) schema-guided program synthesis system [FR99].
Schema-guided Transformation of Programs
With Yves Deville (Université catholique de Louvain, Belgium), I pursued research on the use of program schemas [FLO98] in automating (logic) program transformation [FD96]. The idea was to pre-compile transformation/optimisation/generalisation techniques at the schema-level (i.e., transformation technique T transforms schema S1 into equivalent schema S2, if the applicability conditions C on the place-holders of S1 hold), so that transformation at the program-level reduces to the application of a substitution (i.e., if program P1 is known to be an instance of S1 under substitution s, and if s(C) is valid, then the transformed program P2 according to T is s(S2), and P2 is guaranteed to be equivalent to P1). Triple <S1,S2,C> is then called a transformation schema implementing T.
With Halime Büyükyildiz, I extended these ideas [BF97, BF98], and she implemented a prototype system, called TranSys, for her MSc thesis [Büy97].
Schema-guided Inductive / Abductive Synthesis of Recursive Programs
This research area is nowadays known as inductive programming.
Continuing my early research [Fle95a, FD93ab, Fle93, FD92], I investigated the synthesis of (logic) programs from potentially incomplete specification information (such as examples, properties, integrity constraints, etc). This obviously necessitates not-guaranteed-sound reasoning (such as induction or abduction), and I thus pursued a cross-fertilisation between (Deductive) Logic Programming (LP), Inductive Logic Programming (ILP), and Abductive Logic Programming (ALP) [FP94, FPS94]. The focus was on the synthesis of logic programs for "computational" concepts, that is concepts that may be computed by means of some looping construct (such as recursion or iteration). For example, sort/2 is such a "computational" concept, whereas elephant/1 is not. This clearly distinguished my research from more general Machine Learning or ILP work, and defined a very relevant niche thereof. Moreover, this focus allowed me to take a Programming approach (rather than "only" an Artificial Intelligence one), taking advantage of algorithm design knowledge so as to structure the search space according to program schemas [FLO98] and structure the background knowledge according to types, domains, etc. Correctness of the synthesised programs (that is, soundness and convergence of the synthesiser) was a central theme. Together with Serap Yilmaz, I discussed current research results and trends in this area [FY99].
My DIALOGS system (Dialogue-based Inductive and Abductive LOGic program Synthesiser) [Fle97] starts from no evidence at all and asks the specifier for exactly what it needs, and nothing else. The queries and answers of the dialogue are kept entirely in terms of the specifier's (initially unknown) conceptual language, and such that the specifier must know the answers if s/he is interested at all in the resulting program. This is a drastic simplification, though with no loss of power, of my SYNAPSE system (SYNthesis of Algorithms from PropertieS and Examples) [Fle95a, FD93ab, Fle93, FD92], which is not interactive. This progress was mostly based on my later results, e.g., on predicate invention [Fle95b].
With Serap Yilmaz, I extended these ideas, and she implemented them into a successor system, called DIALOGS-II, for her MSc thesis [Yil97].
With Esra Erdem, I proposed the notion of construction modes as a new declarative bias for ILP [EF00]. We applied this to develop a powerful and efficient algorithm for inductively inferring the clausal definition of an undefined operator of a clausal theory [EF99].
With Ute Schmid, I revisited the research area years later and we wrote a survey [FS08] and three entries [FS16a, FS16b, FS16c] for the Encyclopedia of Machine Learning and Data Mining.
Last modified: Thu Jun 20 15:31:52 CEST 2024