Automated Method Induction: Functional Goes Object Oriented

  • Thomas Hieber
  • Martin Hofmann
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5812)


The development of software engineering has had a great deal of benefits for the development of software. Along with it came a whole new paradigm of the way software is designed and implemented - object orientation. Today it is a standard to have UML diagrams translated into program code wherever possible. However, as few tools really go beyond this we demonstrate a simple functional representation for objects, methods and object-properties. In addition we show how our inductive programming system IgorII cannot only understand those basic notions like referencing methods within objects or using a simple protocol called message-passing, but how it can even learn them by a given specification - which is the major feature of this paper.


Normal Form Functional Program Object Orientation Object Orient Initial Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Hieber, T.: Transportation of the JEdit plug-in ProXSLbE to eclipse. Technical report, Otto Friedrich University of Bamberg (2008)Google Scholar
  2. 2.
    Summers, P.D.: A methodology for LISP program construction from examples. Journal of the ACM 24(1), 161–175 (1977)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Quinlan, J.R., Cameron-Jones, R.M.: FOIL: A midterm report. In: Brazdil, P.B. (ed.) ECML 1993. LNCS, vol. 667, pp. 3–20. Springer, Heidelberg (1993)Google Scholar
  4. 4.
    Muggleton, S., Feng, C.: Efficient induction of logic programs. In: Proceedings of the 1st Conference on Algorithmic Learning Theory, Ohmsma, Tokyo, Japan, pp. 368–381 (1990)Google Scholar
  5. 5.
    Muggleton, S.: Inverse entailment and Progol. New Generation Computing, Special issue on Inductive Logic Programming 13(3-4), 245–286 (1995)Google Scholar
  6. 6.
    Kitzelmann, E., Schmid, U.: Inductive synthesis of functional programs: An explanation based generalization approach. Journal of Machine Learning Research 7, 429–454 (2006)MathSciNetGoogle Scholar
  7. 7.
    Kitzelmann, E.: Data-driven induction of recursive functions from I/O-examples. In: Kitzelmann, E., Schmid, U. (eds.) Proceedings of the ECML/PKDD 2007 Workshop on Approaches and Applications of Inductive Programming (AAIP 2007), pp. 15–26 (2007)Google Scholar
  8. 8.
    Hofmann, M., Kitzelmann, E.: I/o guided detection of list catamorphisms – towards problem specific use of program templates in ip. In: Proceedings of the ACM SIGPLAN 2010 Workshop on Partial Evaluation and Program Manipulation (PEPM 2010) (to appear, 2010)Google Scholar
  9. 9.
    Olsson, R.J.: Inductive functional programming using incremental program transformation. Artificial Intelligence 74(1), 55–83 (1995)CrossRefGoogle Scholar
  10. 10.
    Katayama, S.: Systematic search for lambda expressions. In: van Eekelen, M.C.J.D. (ed.) Revised Selected Papers from the Sixth Symposium on Trends in Functional Programming, TFP 2005, vol. 6, pp. 111–126. Intellect (2007)Google Scholar
  11. 11.
    Mitchell, T.M.: Machine Learning. McGraw-Hill Higher Education, New York (1997)zbMATHGoogle Scholar
  12. 12.
    Rémy, D., Vouillon, J.: Objective ML: An effective object-oriented extension to ML (1998); A preliminary version appeared in the proceedings of the 24th ACM Conference on Principles of Programming Languages (1997)Google Scholar
  13. 13.
    Kiselyov, O., Laemmel, R.: Haskell’s overlooked object system. CoRR (2005); informal publicationGoogle Scholar
  14. 14.
    Terese: Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge University Press, Cambridge (2003)Google Scholar
  15. 15.
    Plotkin, G.: A note on inductive generalisation. In: Meltzer, B., Michie, D. (eds.) Machine Intelligence 5, pp. 153–163. Edinburgh University Press, Edinburgh (1969)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Thomas Hieber
    • 1
  • Martin Hofmann
    • 1
  1. 1.University Bamberg - Cognitive Systems GroupBambergGermany

Personalised recommendations