Automated Program Analysis for Novice Programmers

09/30/2017
by   Tim Blok, et al.
0

This paper describes how to adapt a static code analyzer to help novice programmers. Current analyzers have been built to give feedback to experienced programmers who build new applications or systems. The type of feedback and the type of analysis of these tools focusses on mistakes that are relevant within that context, and help with debugging the system. When teaching novice programmers this type of advice is often not particularly useful. It would be instead more useful to use these techniques to find problem in the understanding of students of important programming concepts. This paper first explores in what respect static analyzers support the learning and teaching of programming can be implemented based on existing static analysis technology. It presents an extension to static analyzer PMD was made so that feedback messages appear which are easier to understand for novice programmers. To answer the question if these techniques are able to find conceptual mistakes that are characteristic for novice programmers make, we ran it over a number of student projects, and compared these results with publicly available mature software projects.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 7

05/28/2021

Parallel Programming Applied Research Projects for Teaching Parallel Programming to Beginner Students

In this paper, we discuss the educational value of a few mid-size and on...
03/08/2019

Feel the Static and Kinetic Friction

Multimodal simulations augment the presentation of abstract concepts fac...
08/09/2020

Function completion in the time of massive data: A code embedding perspective

Code completion is an important feature of integrated development enviro...
06/29/2019

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

This article presents a theoretical summary of the source code static an...
06/25/2020

On the Nature of Programming Exercises

There are countless reasons cited in scientific studies to explain the d...
11/12/2020

The Usability of Ownership

Ownership is the concept of tracking aliases and mutations to data, usef...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.