An inductive programming approach to algebraic specification

Document Type

Conference Proceeding

Date of Original Version



Inductive machine learning suggests an alternative approach to the algebraic specification of software systems: rather than using test cases to validate an existing specification we use the test cases to induce a specification. In the algebraic setting test cases are ground equations that represent specific aspects of the desired system behavior or, in the case of negative test cases, represent specific behavior that is to be excluded from the system. We call this inductive equational logic programming. We have developed an algebraic semantics for inductive equational logic programming where hypotheses are cones over specification diagrams. The induction of a hypothesis or specification can then be viewed as a search problem in the category of cones over a specific specification diagram for a cone that satisfies some pragmatic criteria such as being as general as possible. We have implemented such an induction system in the functional part of the Maude specification language using evolutionary computation as a search strategy.

Publication Title

18th European Conference on Machine Learning, ECML 2007 and the 11th European Conference on Principles and Practice of Knowledge Discovery in Databases, PKDD 2007 - Proceedings of the Workshop on Approaches and Applications of Inductive Programming, AAIP 2007

This document is currently not available here.