skip to main content
10.1145/2839509.2844584acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

An Effective Approach to Enhancing Compiler Error Messages

Published:17 February 2016Publication History

ABSTRACT

One of the many challenges novice programmers face from the time they write their first program is inadequate compiler error messages. These messages report details on errors the programmer has made and are the only feedback the programmer gets from the compiler. For students they play a particularly essential role as students often have little experience to draw upon, leaving compiler error messages as their primary guidance on error correction. However these messages are frequently inadequate, presenting a barrier to progress and are often a source of discouragement. We have designed and implemented an editor that provides enhanced compiler error messages and conducted a controlled empirical study with CS1 students learning Java. We find a reduced frequency of overall errors and errors per student. We also identify eight frequent compiler error messages for which enhancement has a statistically significant effect. Finally we find a reduced number of repeated errors. These findings indicate fewer students struggling with compiler error messages.

References

  1. Amjad Altadmri and Neil CC Brown. 37 million compilations: Investigating novice programming mistakes in large-scale student data. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education, pages 522--527. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. A. Becker. An Exploration of the Effects of Enhanced Compiler Error Messages for Computer Programming Novices. Master's thesis, Dublin Institute of Technology, 2015.Google ScholarGoogle Scholar
  3. M. M. Ben-Ari. Compile and runtime errors in java. www.weizmann.ac.il/sci-tea/benari/software/others/errors.pdf, 2007. Accessed: 2015-08-23.Google ScholarGoogle Scholar
  4. N. C. C. Brown, M. Kölling, D. McCall, and I. Utting. Blackbox: A large scale repository of novice programmers' activity. In Proceedings of the 45th ACM technical symposium on Computer science education, pages 223--228. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. N. J. Coull. SNOOPIE: development of a learning support tool for novice programmers within a conceptual framework. PhD thesis, University of St Andrews, 2008.Google ScholarGoogle Scholar
  6. N. J. Coull and I. M. M. Duncan. Emergent requirements for supporting introductory programming. Innovation in Teaching and Learning in Information and Computer Sciences, 10(1):78--85, 2011. Google ScholarGoogle ScholarCross RefCross Ref
  7. P. Denny, A. Luxton-Reilly, E. Tempero, and J. Hendrickx. Codewrite: supporting student-driven practice of java. In Proceedings of the 42nd ACM technical symposium on Computer science education, pages 471--476. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Denny, A.a Luxton-Reilly, and D. Carpenter. Enhancing syntax error messages appears ineffectual. In Proceedings of the 2014 conference on Innovation & technology in computer science education, pages 273--278. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. Dy and M. M. Rodrigo. A detector for non-literal java errors. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research, pages 118--122. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. Hartmann, D. MacDougall, J. Brandt, and S. R. Klemmer. What would other programmers do: suggesting solutions to error messages. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 1019--1028. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Hristova, A. Misra, M. Rutter, and R. Mercuri. Identifying and correcting java programming errors for introductory computer science students. ACM SIGCSE Bulletin, 35(1):153--156, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Jackson, M. Cobb, and C. Carver. Identifying top java errors for novice programmers. In Frontiers in Education, 2005. FIE'05. Proceedings 35th Annual Conference, pages T4C-T4C. IEEE, 2005. Google ScholarGoogle ScholarCross RefCross Ref
  13. M. C. Jadud. A first look at novice compilation behaviour using bluej. Computer Science Education, 15(1):25--40, 2005. Google ScholarGoogle ScholarCross RefCross Ref
  14. M. C. Jadud. An exploration of novice compilation behaviour in BlueJ. PhD thesis, University of Kent, 2006.Google ScholarGoogle Scholar
  15. M. Kölling, B. Quig, A. Patterson, and J. Rosenberg. The bluej system and its pedagogy. Computer Science Education, 13(4):249--268, 2003. Google ScholarGoogle ScholarCross RefCross Ref
  16. G. Marceau, K. Fisler, and S. Krishnamurthi. Measuring the effectiveness of error messages designed for novice programmers. In Proceedings of the 42nd ACM technical symposium on Computer science education, pages 499--504. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. G. Marceau, K. Fisler, and S. Krishnamurthi. Mind your language: on novices' interactions with error messages. In Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software, pages 3--18. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Davin McCall and Michael Kolling. Meaningful categorisation of novice programmer errors. In Frontiers in Education Conference (FIE), 2014 IEEE, pages 1--8. IEEE, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  19. P. C. Rigby and S. Thompson. Study of novice programmers using eclipse and gild. In Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange, pages 105--109. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Schorsch. Cap: an automated self-assessment tool to check pascal programs for syntax, logic and style errors. ACM SIGCSE Bulletin, 27(1):168--172, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Stefik and S. Siebert. An empirical investigation into programming language syntax. ACM Transactions on Computing Education (TOCE), 13(4):19, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. E. S. Tabanao, M. M. Rodrigo, and M. C. Jadud. Predicting at-risk novice java programmers through the analysis of online protocols. In Proceedings of the seventh international workshop on Computing education research, pages 85--92. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. V. J. Traver. On compiler error messages: what they say and what they mean. Advances in Human-Computer Interaction, 2010, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Christopher Watson, FrederickW.B. Li, and JamieL. Godwin. Bluefix: Using crowd-sourced feedback to support programming students in error diagnosis and repair. In Elvira Popescu, Qing Li, Ralf Klamma, Howard Leung, and Marcus Specht, editors, Advances in Web-Based Learning - ICWL 2012, volume 7558 of Lecture Notes in Computer Science, pages 228--239. Springer Berlin Heidelberg, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. L. Wexelblat. Maxims for malfeasant designers, or how to design languages to make programming as difficult as possible. In Proceedings of the 2nd international conference on Software engineering, pages 331--336. IEEE Computer Society Press, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An Effective Approach to Enhancing Compiler Error Messages

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    SIGCSE '16: Proceedings of the 47th ACM Technical Symposium on Computing Science Education
    February 2016
    768 pages
    ISBN:9781450336857
    DOI:10.1145/2839509

    Copyright © 2016 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 17 February 2016

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    SIGCSE '16 Paper Acceptance Rate105of297submissions,35%Overall Acceptance Rate1,595of4,542submissions,35%

    Upcoming Conference

    SIGCSE Virtual 2024

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader