Design principles for generating and presenting automated formative feedback on code quality using software metrics

Eddy van den Aker, Ebrahim Rahimi

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

Abstract

Code quality and maintainability are among under-emphasized and often neglected topics in the curriculum of software engineering (SE) in higher education.This neglect tends to overlook research findings that demonstrate SE students’ programming submissions most often exhibit severe code quality issues, which are frequently left unaddressed by the students.Furthermore, it can result in the software engineering curriculum becoming indifferent to the essential requirements of the software development industry, where code quality and maintainability play a crucial role in the software’s cost throughout its life cycle. Therefore, SE students in higher education should be trained to master the knowledge and skills of writing high-quality code. One possible approach to improving students’ understanding of code quality issues is to provide automatically generated formative feedback about the code quality aspects of their programming submissions throughout the code development process. However, while there are tools available for generating automated feedback on the code quality aspects of programming submissions, they often lack a set of theory-driven design principles to underpin the content and presentation of their provided feedback. This lack of theoretical foundation makes it difficult to follow a systematic approach to designing and developing such tools, reasoning about their quality, and evaluating the effectiveness of their generated feedback. To address this lack, this study provides nine contextualized design principles for generating automated formative feedback on code quality. These design principles are rooted in solid educational constructs about feedback and learning dashboards, and empirically validated and contextualized by two focus group sessions consisting of 8 senior SE students and 2 teachers. This approach has resulted in a set of contextualized design principles. These design principles can be used to guide the implementation of tools that provide automated feedback on code quality using software metrics.

Original languageEnglish
Title of host publicationProceedings - 2024 ACM/IEEE 46th International Conference on Software Engineering
Subtitle of host publicationSoftware Engineering Education and Training, ICSE-SEET 2024
PublisherIEEE Computer Society Press
Pages139-150
Number of pages12
ISBN (Electronic)9798400704987
DOIs
Publication statusPublished - 14 Apr 2024
Event46th International Conference on Software Engineering: Software Engineering Education and Training, ICSE-SEET 2024 - Lisbon, Portugal
Duration: 14 Apr 202420 Apr 2024
Conference number: 46
https://conf.researchr.org/home/icse-2024

Publication series

SeriesProceedings - International Conference on Software Engineering
ISSN0270-5257

Conference

Conference46th International Conference on Software Engineering: Software Engineering Education and Training, ICSE-SEET 2024
Abbreviated titleICSE-SEET 2024
Country/TerritoryPortugal
CityLisbon
Period14/04/2420/04/24
Internet address

Keywords

  • automated feedback
  • code quality
  • design principles
  • formative feedback
  • Programming education
  • undergraduate education

Fingerprint

Dive into the research topics of 'Design principles for generating and presenting automated formative feedback on code quality using software metrics'. Together they form a unique fingerprint.

Cite this