ITS 2008: Intelligent Tutoring Systems pp 184-193 | Cite as

Automatic Construction of a Bug Library for Object-Oriented Novice Java Programmer Errors

  • Merlin Suarez
  • Raymund Sison
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5091)

Abstract

Machine learning techniques have been applied to the task of student modeling, more so in building tutors for acquiring programming skill. These were developed for various languages (Pascal, Prolog, Lisp, C++) and programming paradigms (procedural and declarative) but never for object-oriented programming in Java. JavaBugs builds a bug library automatically using discrepancies between a student and correct program. While other works analyze code snippets or UML diagrams to infer student knowledge of object-oriented design and programming, JavaBugs examines a complete Java program and identifies the most similar correct program to the student’s solution among a collection of correct solutions and builds trees of misconceptions using similarity measures and background knowledge. Experiments show that JavaBugs can detect the most similar correct program 97% of the time, and discover and detect 61.4% of student misconceptions identified by the expert.

Keywords

automatic bug library construction Java errors object-oriented programming multistrategy learning 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Amershi, S., Conati, C.: Unsupervised and Supervised Machine Learning in User Modeling for Intelligent Learning Environments. In: 12th International Conference on Intelligent User Interfaces, pp. 72–81. ACM Press, New York (2007)CrossRefGoogle Scholar
  2. 2.
    Apiwattanapong, T., Orso, A., Harrold, M.J.: JDiff: A Differencing Technique and Tool for Object-Oriented Programs. Automated Software Engineering 14(1), 3–36 (2007)CrossRefGoogle Scholar
  3. 3.
    Baffes, P., Mooney, R.: Refinement-based Student Modeling and Automated Bug Library Construction. Journal of Artificial Intelligence in Education 7(1), 75–116 (1996)Google Scholar
  4. 4.
    Esposito, F., Licchelli, O., Semeraro, G.: Discovering student models in e-learning systems. In: Ulbrich, A., Pacnik, H. (eds.); Journal of Universal Computer Science (J.UCS) – Special Issue: Human Issues in Implementing eLearning Technology, 10 (1), pp. 47–57, Springer (2004)Google Scholar
  5. 5.
    Jackson, J., Cobb, M., Carver, C.: Identifying Top Java Errors for Novice Programmers. In: 35th ASEE/IEEE Frontiers in Education Conference. IEEE, New Jersey (2005)Google Scholar
  6. 6.
    Jadud, M.: A First Look at Novice Compilation using BlueJ. Computer Science Education 15(1), 25–40 (2005)CrossRefGoogle Scholar
  7. 7.
    Johnson, W.L.: Understanding and Debugging Novice Programs. Artificial Intelligence 42(1), 51–97 (1990)CrossRefGoogle Scholar
  8. 8.
    Lebowitz, M.: Experiments with incremental concept formation: UNIMEM. Machine Learning 2(2), 103–138 (1987)Google Scholar
  9. 9.
    Ng Cheong Vee, M.H., Meyer, B., Mannock, K.L.: Understanding novice errors and error paths in object-oriented programming through log analysis. Intelligent Tutoring Systems (2006)Google Scholar
  10. 10.
    Self, J.: Bypassing the intractable problem of student modelling. In: Gauthier, G., Frasson, C. (eds.) ITS 1988, Ablex, New Jersey, pp. 18–24 (1988)Google Scholar
  11. 11.
    Sison, R., Numao, M., Shimura, M.: Multistrategy Discovery and Detection of Novice Programmer Errors. Machine Learning - Special Issue on Multistrategy Learning 38(1), 157–180 (2000)Google Scholar
  12. 12.
    Sykes, E., Franek, F.: A Prototype for an Intelligent Tutoring System for Students Learning to Program in Java. Advanced Technology For Learning 1, 35–43 (2004)CrossRefGoogle Scholar
  13. 13.
    Tversky, A.: Features of Similarity. Psychological Review 84, 327–352 (1977)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Merlin Suarez
    • 1
  • Raymund Sison
    • 1
  1. 1.College of Computer StudiesDe La Salle University- ManilaManilaPhilippines

Personalised recommendations