Acknowledging Good Java Code with Code Perfumes

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Straubinger, Philipp, Obermüller, Florian, Fraser, Gordon
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866917703235665920
author Straubinger, Philipp
Obermüller, Florian
Fraser, Gordon
author_facet Straubinger, Philipp
Obermüller, Florian
Fraser, Gordon
contents Java remains one of the most popular programming languages in education. Although Java programming education is well supported by study materials, learners also need more immediate support on the problems they face in their own code. When this support cannot be offered by educators personally, learners can resort to automated program analysis tools such as linters, which provide feedback on potential bugs or code issues. This is constructive feedback, but it may nevertheless feel like criticism. This paper introduces code perfumes for Java, a simple program analysis technique similar to linting, but commending the correct application of good programming practices. We present a catalogue of 20 Java code perfumes related to common Java language constructs for beginner to immediate learners. Our evaluation shows that these code perfumes occur frequently in learners' code, and programs with more code perfume instances tend to have better functionality and readability. Moreover, students who incorporate more code perfumes tend to achieve higher grades. Thus, code perfumes serve as a valuable tool to acknowledge learners' successes, and as a means to inform instructors about their learners' progress.
format Preprint
id arxiv_https___arxiv_org_abs_2406_16348
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Acknowledging Good Java Code with Code Perfumes
Straubinger, Philipp
Obermüller, Florian
Fraser, Gordon
Software Engineering
Java remains one of the most popular programming languages in education. Although Java programming education is well supported by study materials, learners also need more immediate support on the problems they face in their own code. When this support cannot be offered by educators personally, learners can resort to automated program analysis tools such as linters, which provide feedback on potential bugs or code issues. This is constructive feedback, but it may nevertheless feel like criticism. This paper introduces code perfumes for Java, a simple program analysis technique similar to linting, but commending the correct application of good programming practices. We present a catalogue of 20 Java code perfumes related to common Java language constructs for beginner to immediate learners. Our evaluation shows that these code perfumes occur frequently in learners' code, and programs with more code perfume instances tend to have better functionality and readability. Moreover, students who incorporate more code perfumes tend to achieve higher grades. Thus, code perfumes serve as a valuable tool to acknowledge learners' successes, and as a means to inform instructors about their learners' progress.
title Acknowledging Good Java Code with Code Perfumes
topic Software Engineering
url https://arxiv.org/abs/2406.16348