Skip to main content

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

  • Conference paper
Book cover Intelligent Tutoring Systems (ITS 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5091))

Included in the following conference series:

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.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. 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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. 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. Jadud, M.: A First Look at Novice Compilation using BlueJ. Computer Science Education 15(1), 25–40 (2005)

    Article  Google Scholar 

  7. Johnson, W.L.: Understanding and Debugging Novice Programs. Artificial Intelligence 42(1), 51–97 (1990)

    Article  Google Scholar 

  8. Lebowitz, M.: Experiments with incremental concept formation: UNIMEM. Machine Learning 2(2), 103–138 (1987)

    Google Scholar 

  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. 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. 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. 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)

    Article  Google Scholar 

  13. Tversky, A.: Features of Similarity. Psychological Review 84, 327–352 (1977)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Beverley P. Woolf Esma Aïmeur Roger Nkambou Susanne Lajoie

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Suarez, M., Sison, R. (2008). Automatic Construction of a Bug Library for Object-Oriented Novice Java Programmer Errors. In: Woolf, B.P., Aïmeur, E., Nkambou, R., Lajoie, S. (eds) Intelligent Tutoring Systems. ITS 2008. Lecture Notes in Computer Science, vol 5091. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69132-7_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69132-7_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69130-3

  • Online ISBN: 978-3-540-69132-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics