Skip to main content

Inferring Flow of Control in Program Synthesis by Example

  • Conference paper
  • First Online:
KI-99: Advances in Artificial Intelligence (KI 1999)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 1701))

Included in the following conference series:

Abstract

Abstract. We present a supervised, interactive learning technique that infers control structures of computer programs from user-demonstrated traces. A two-stage process is applied: first, a minimal deterministic finite automaton (DFA) M labeled by the instructions of the program is learned from a set of example traces and membership queries to the user. It accepts all preffixes of traces of the target program. The number of queries is bounded by O(k•|M|), with k being the total number of instructions in the initial example traces. In the second step we parse this automaton into a high-level programming language in O(|M|2) steps, replacing jumps by conditional control structures.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, J. E. Hopcroft, and J. Ullman. The design and analysis of computer algorithms. Addison-Wesley, 1974.

    Google Scholar 

  2. D. Angluin. A note on the number of queries needed to identify regular languages. Information and Control, 51(1):76–87, 1981.

    Article  MATH  MathSciNet  Google Scholar 

  3. D. Angluin. Inferrence of reversible languages. Journal of the Association of Computing Machinery, 29:741–765, 1982.

    MATH  MathSciNet  Google Scholar 

  4. A. W. Biermann. The inference of regular lisp programs from examples. IEEE Trans. on Systems, Man, and Cybernetics, 8(8):585–600, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  5. A. Cypher, editor. Watch What I Do: Programming by Demonstration. MIT Press, 1993.

    Google Scholar 

  6. P. Flener. Logic Program Synthesis from Incomplete Information. Kluwer Academic Publishers, 1995.

    Google Scholar 

  7. B. Gaines. Behaviour/structure transformations under uncertainty. International Journal of Man-Machine Studies, 8(3):337–365, 1976.

    Article  MATH  MathSciNet  Google Scholar 

  8. E. M. Gold. Language identification in the limit. Information and Control, 10(5):447–474, 1967.

    Article  MATH  Google Scholar 

  9. E. M. Gold. Complexity of automaton identification from given data. Information and Control, 37(3):302–320, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  10. D. E. Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching. Addison-Wesley Publishing Company, Reading, 1973.

    Google Scholar 

  11. R. Parekh, C. Nichitiu, and V. Honovar. A polynomial time incremental algorithm for regular grammar inference. Technical Report 97-03, Department of computer science, Iowa State University, 1997.

    Google Scholar 

  12. J. C. Schlimmer and L. A. Hermens. Software agents: Completing patterns and constructing user interfaces. Journal of Artificial Intelligence Research, 1:61–89, 1993.

    Google Scholar 

  13. E. Y. Shapiro. Algorithmic Program Debuggging. PhD thesis, Yale University, 1983. Published under the same title by MIT press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schrödl, S., Edelkamp, S. (1999). Inferring Flow of Control in Program Synthesis by Example. In: Burgard, W., Cremers, A.B., Cristaller, T. (eds) KI-99: Advances in Artificial Intelligence. KI 1999. Lecture Notes in Computer Science(), vol 1701. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48238-5_14

Download citation

  • DOI: https://doi.org/10.1007/3-540-48238-5_14

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66495-6

  • Online ISBN: 978-3-540-48238-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics