Skip to main content

Automated Reporting of Code Quality Issues in Student Submissions

  • Conference paper
  • First Online:
Towards a Collaborative Society Through Creative Learning (WCCE 2022)

Abstract

Despite its importance in industry, code quality is often overlooked in academia. A number of automated tools to report code quality have been developed but many of them are impractical to use. They either are developed as a standalone tool, require the use of a particular IDE, and/or need historical data. This paper presents code quality issues reporter (CQIS), a tool that can be embedded in an assessment submission system; it identifies code quality issues for each student submission via static analysis, and reports those in an HTML page whose link is sent via email. The tool covers 52 code quality issues specifically curated for academia, 32 for Java and 20 for Python. According to four quasi-experiments with a total of 274 students, students with CQIS are likely to have fewer code quality issues so long as the expected solutions are long and complex and code quality is considered as part of the marking. These students are also more aware of code quality, and readability in particular.

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 119.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 159.99
Price excludes VAT (USA)
  • Durable hardcover 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.

    https://checkstyle.sourceforge.io/.

  2. 2.

    https://flake8.pycqa.org/en/latest/.

  3. 3.

    https://github.com/oscarkarnalim/CQS.

  4. 4.

    https://github.com/google/code-prettify.

  5. 5.

    https://lucene.apache.org/.

  6. 6.

    https://github.com/dwyl/english-words.

  7. 7.

    https://www.curlewcommunications.uk/wordlist.html.

  8. 8.

    http://indodic.com/SpellCheckInstall.html.

References

  1. Lethbridge, T.C., Leblanc, R.J., Jr., Kelley Sobel, A.E., Hilburn, T.B., Diaz-herrera, J.L.: SE2004: recommendations for undergraduate software engineering curricula. IEEE Softw. 23(6), 19–25 (2006)

    Article  Google Scholar 

  2. Keuning, H., Heeren, B., Jeuring, J.: A tutoring system to learn code refactoring. In: 52nd ACM Technical Symposium on Computer Science Education, USA, pp. 562–568. ACM (2021)

    Google Scholar 

  3. Blau, H., Moss, J.E.B.: FrenchPress gives students automated feedback on Java program flaws. In: ACM Conference on Innovation and Technology in Computer Science Education, Lithuania, pp. 15–20. ACM (2015)

    Google Scholar 

  4. Ureel II, L.C., Wallace, C.: Automated critique of early programming antipatterns. In: 50th ACM Technical Symposium on Computer Science Education, USA, pp. 738–744. ACM (2019)

    Google Scholar 

  5. Ala-Mutka, K., Uimonen, T., Jarvinen, H.-M.: Supporting students in C++ programming courses with automatic program style assessment. J. Inf. Technol. Educ. 3, 245–262 (2004)

    Google Scholar 

  6. Roy Choudhury, R., Yin, H., Fox, A.: Scale-driven automatic hint generation for coding style. In: Micarelli, A., Stamper, J., Panourgia, K. (eds.) ITS 2016. LNCS, vol. 9684, pp. 122–132. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39583-8_12

    Chapter  Google Scholar 

  7. Keuning, H., Heeren, B., Jeuring, J.: Code quality issues in student programs. In: ACM Conference on Innovation and Technology in Computer Science Education, Italy, pp. 110–115. ACM (2017)

    Google Scholar 

  8. Aivaloglou, E., Hermans, F.: How kids code and how we know: an exploratory study on the Scratch repository. In: ACM Conference on International Computing Education Research, Australia, pp. 53–61. ACM (2016)

    Google Scholar 

  9. De Ruvo, G., Tempero, E., Luxton-Reilly, A., Rowe, G.B., Giacaman, N.: Understanding semantic style by analysing student code. In: 20th Australasian Computing Education Conference, Australia, pp. 73–82. ACM (2018)

    Google Scholar 

  10. Keuning, H., Heeren, B., Jeuring, J.: Student refactoring behaviour in a programming tutor. In: 20th Koli Calling International Conference on Computing Education Research, Finland, pp. 4:1–4:10. ACM (2020)

    Google Scholar 

  11. Pettit, R., Homer, J., Gee, R., Mengel, S., Starbuck, A.: An empirical study of iterative improvement in programming assignments. In: 46th ACM Technical Symposium on Computer Science Education, USA, pp. 410–415. ACM (2015)

    Google Scholar 

  12. Breuker, D.M., Derriks, J., Brunekreef, J.: Measuring static quality of student code. In: 16th Annual Joint Conference on Innovation and Technology in Computer Science Education, Germany, pp. 13–17. ACM (2011)

    Google Scholar 

  13. Tempero, E., Denny, P., Luxton-Reilly, A., Ralph, P.: Objects count so count objects! In: ACM Conference on International Computing Education Research, Finland, pp. 187–195. ACM (2018)

    Google Scholar 

  14. Karnalim, O., Mandala, R.: Java archives search engine using byte code as information source. In: International Conference on Data and Software Engineering, Indonesia, pp. 1–6. IEEE (2014)

    Google Scholar 

  15. Karnalim, O., Simon: Work-in-progress: code quality issues of computing undergraduates. In: IEEE Global Engineering Education Conference, Austria, pp. 1734–1736. IEEE (2022)

    Google Scholar 

  16. Karnalim, O., Simon: Promoting code quality via automated feedback on student submissions. In: IEEE Frontiers in Education, USA, pp. 1–5. IEEE (2021)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Oscar Karnalim .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Karnalim, O., Simon, Chivers, W., Panca, B.S. (2023). Automated Reporting of Code Quality Issues in Student Submissions. In: Keane, T., Lewin, C., Brinda, T., Bottino, R. (eds) Towards a Collaborative Society Through Creative Learning. WCCE 2022. IFIP Advances in Information and Communication Technology, vol 685. Springer, Cham. https://doi.org/10.1007/978-3-031-43393-1_47

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-43393-1_47

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-43392-4

  • Online ISBN: 978-3-031-43393-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics