Skip to main content

Heuristic Search over Program Transformations

  • Conference paper
  • First Online:
Declarative Programming and Knowledge Management (INAP 2013, WLP 2013, WFLP 2013)

Abstract

In prior work, we have developed a method for the automatic reconstruction of buggy Prolog programs from correct programs to model learners’ incorrect reasoning in a tutoring context. The method combines an innovative variant of algorithmic debugging with program transformations. Algorithmic debugging is used to indicate a learner’s error and its type; this informs a program transformation that “repairs” the expert program into a buggy variant that is closer at replicating a learner’s behaviour. In this paper, we improve our method by using heuristic search. To search the space of program transformations, we estimate the distance between programs. Instead of only returning the first irreducible disagreement between program and Oracle, the algorithmic debugger now traverses the entire program. In the process, all irreducible agreements and disagreements are counted to compute the distance metrics, which also includes the cost of transformations. Overall, the heuristic approach offers a significant improvement to our existing blind method.

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 EPUB and 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

Notes

  1. 1.

    The argument CurrentColumn is passed onto most other predicates; it is only used to help automating the Oracle.

References

  1. Anderson, J.R., Corbett, A.T., Koedinger, K.R., Pelletier, R.: Cognitive tutors: lessons learned. J. Learn. Sci. 4(2), 167–207 (1995)

    Article  Google Scholar 

  2. Brown, J.S., Burton, R.R.: Diagnostic models for procedural bugs in basic mathematical skills. Cogn. Sci. 2, 155–192 (1978)

    Article  Google Scholar 

  3. Burton, R.R.: Debuggy: diagnosis of errors in basic mathematical skills. In: Sherman, D., Brown, J.S. (eds.) Intelligent Tutoring Systems. Academic Press, London (1982)

    Google Scholar 

  4. DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. Computer 11(4), 34–41 (1978)

    Article  Google Scholar 

  5. Heeren, B., Jeuring, J., Gerdes, A.: Specifying rewrite strategies for interactive exercises. Math. Comput. Sci. 3(3), 349–370 (2010)

    Article  MATH  Google Scholar 

  6. Kilperäinen, P., Mannila, H.: Generation of test cases for simple prolog programs. Acta Cybern. 9(3), 235–246 (1990)

    Google Scholar 

  7. Langley, P., Cummings, K.: Hierarchical skills and cognitive architectures. In: 26th Annual Conference of the Cognitive Science Society, pp. 779–784 (2004)

    Google Scholar 

  8. Toaldo, J.R., Vergilio, S.R.: Applying mutation testing in prolog programs. http://www.lbd.dcc.ufmg.br/colecoes/wtf/2006/st2_1.pdf

  9. VanLehn, K.: Mind bugs: The Origins of Procedural Misconceptions. MIT Press, Cambridge (1990)

    Google Scholar 

  10. Young, R.M., O’Shea, T.: Errors in children’s subtraction. Cogn. Sci. 5(2), 153–177 (1981)

    Article  Google Scholar 

  11. Zinn, C.: Algorithmic debugging to support cognitive diagnosis in tutoring systems. In: Bach, J., Edelkamp, S. (eds.) KI 2011. LNCS (LNAI), vol. 7006, pp. 357–368. Springer, Heidelberg (2011)

    Google Scholar 

  12. Zinn, C.: Program analysis and manipulation to reproduce learners’ erroneous reasoning. In: Albert, E. (ed.) LOPSTR 2012. LNCS, vol. 7844, pp. 228–243. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

Download references

Acknowledgments

The research was funded by the DFG (ZI 1322/2-1).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Claus Zinn .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Zinn, C. (2014). Heuristic Search over Program Transformations. In: Hanus, M., Rocha, R. (eds) Declarative Programming and Knowledge Management. INAP WLP WFLP 2013 2013 2013. Lecture Notes in Computer Science(), vol 8439. Springer, Cham. https://doi.org/10.1007/978-3-319-08909-6_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-08909-6_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-08908-9

  • Online ISBN: 978-3-319-08909-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics