On the Use of Static Analysis to Engage Students with Software Quality Improvement: An Experience with PMD

02/11/2023
by   Eman Abdullah AlOmar, et al.
0

Static analysis tools are frequently used to scan the source code and detect deviations from the project coding guidelines. Given their importance, linters are often introduced to classrooms to educate students on how to detect and potentially avoid these code anti-patterns. However, little is known about their effectiveness in raising students awareness, given that these linters tend to generate a large number of false positives. To increase the awareness of potential coding issues that violate coding standards, in this paper, we aim to reflect on our experience with teaching the use of static analysis for the purpose of evaluating its effectiveness in helping students with respect to improving software quality. This paper discusses the results of an experiment in the classroom over a period of 3 academic semesters, involving 65 submissions that carried out code review activity of 690 rules using PMD. The results of the quantitative and qualitative analysis shows that the presence of a set of PMD quality issues influence the acceptance or rejection of the issues, design, and best practices-related categories that take a longer time to be resolved, and students acknowledge the potential of using static analysis tools during code review. Through this experiment, code review can turn into a vital part of the educational computing plan. We envision our findings enabling educators to support students with code review strategies to raise students awareness about static analysis tools and scaffolding their coding skills.

READ FULL TEXT

page 8

page 9

research
03/13/2023

SOBO: A Feedback Bot to Nudge Code Quality in Programming Courses

Recent research has shown the great potential of automatic feedback in e...
research
01/16/2019

Bridging the Educational Gap between Emerging and Established Scientific Computing Disciplines

In this paper we describe our experience in developing curriculum course...
research
10/08/2022

The importance of good coding practices for data scientists

Many data science students and practitioners are reluctant to adopt good...
research
07/21/2020

Reference study of IFC software support: the GeoBIM benchmark 2019 – Part I

IFC, buildingSMART open standard for Building Information Models, is und...
research
06/29/2019

Análise Estática de Código-Fonte

This article presents a theoretical summary of the source code static an...
research
05/28/2018

The effects of change-decomposition on code review - A Controlled Experiment

Background: Code review is a cognitively demanding and time-consuming pr...

Please sign up or login with your details

Forgot password? Click here to reset