Litcius/Paper detail

GRADESTYLE: GitHub-Integrated and Automated Assessment of Java Code Style

Callum Iddon, Nasser Giacaman, Valerio Terragni

202318 citationsDOI

Abstract

Every programming language has its own style conventions and best practices, which help developers to write readable and maintainable code. Learning code style is an essential skill that every professional software engineer should master. As such, students should develop good habits for code style early on, when they start learning how to program. Unfortunately, manually assessing students’ code with timely and detailed feedback is often infeasible, and professional static analysis tools are unsuitable for educational contexts. This paper presents GRADESTYLE, a tool for automatically assessing the code style of Java assignments. GRADESTYLE automatically checks for violations of some of the most important Google Java Style conventions, and Java best practices. Students receive a report with a code style mark, a list of violations, and their source code locations. GRADESTYLE nicely integrates with GitHub and GitHub Classroom, and can be configured to provide continuous feedback every time a student pushes new code. We adopted our tool in a second-year software engineering programming course with 327 students and observed consistent improvements in the code style of their assignments.

Topics & Concepts

Computer scienceJavaProgramming languageCode (set theory)Style (visual arts)Software engineeringSet (abstract data type)ArchaeologyHistorySoftware Testing and Debugging TechniquesSoftware Engineering ResearchTeaching and Learning Programming