Automated Program Analysis for Novice Programmers

Tim Blok, Ansgar Fehnker

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    46 Downloads (Pure)


    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.
    Original languageEnglish
    Title of host publicationHEAd'17
    Subtitle of host publicationProceedings of the 3rd International Conference on Higher Education Advances
    EditorsJosep Domenech, M. Cinta Vincent-Vela, Elena de la Poza, Desamparados Blazquez
    PublisherUniversitat Politecnica de Valencia
    ISBN (Print)978-84-9048-590-3
    Publication statusPublished - 2017
    Event3rd International Conference on Higher Education Advances, HEAd 2017 - Universitat Politècnica de València, València, Spain
    Duration: 21 Jun 201723 Jun 2017
    Conference number: 3


    Conference3rd International Conference on Higher Education Advances, HEAd 2017
    Abbreviated titleHEAd'17
    Internet address


    • Programing education
    • Tool support
    • Static analysis

    Fingerprint Dive into the research topics of 'Automated Program Analysis for Novice Programmers'. Together they form a unique fingerprint.

  • Cite this

    Blok, T., & Fehnker, A. (2017). Automated Program Analysis for Novice Programmers. In J. Domenech, M. C. Vincent-Vela, E. de la Poza, & D. Blazquez (Eds.), HEAd'17: Proceedings of the 3rd International Conference on Higher Education Advances (pp. 1138-1146). Universitat Politecnica de Valencia.