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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The argument CurrentColumn is passed onto most other predicates; it is only used to help automating the Oracle.
References
Anderson, J.R., Corbett, A.T., Koedinger, K.R., Pelletier, R.: Cognitive tutors: lessons learned. J. Learn. Sci. 4(2), 167–207 (1995)
Brown, J.S., Burton, R.R.: Diagnostic models for procedural bugs in basic mathematical skills. Cogn. Sci. 2, 155–192 (1978)
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)
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)
Heeren, B., Jeuring, J., Gerdes, A.: Specifying rewrite strategies for interactive exercises. Math. Comput. Sci. 3(3), 349–370 (2010)
Kilperäinen, P., Mannila, H.: Generation of test cases for simple prolog programs. Acta Cybern. 9(3), 235–246 (1990)
Langley, P., Cummings, K.: Hierarchical skills and cognitive architectures. In: 26th Annual Conference of the Cognitive Science Society, pp. 779–784 (2004)
Toaldo, J.R., Vergilio, S.R.: Applying mutation testing in prolog programs. http://www.lbd.dcc.ufmg.br/colecoes/wtf/2006/st2_1.pdf
VanLehn, K.: Mind bugs: The Origins of Procedural Misconceptions. MIT Press, Cambridge (1990)
Young, R.M., O’Shea, T.: Errors in children’s subtraction. Cogn. Sci. 5(2), 153–177 (1981)
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)
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)
Acknowledgments
The research was funded by the DFG (ZI 1322/2-1).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)