Design principles for generating and presenting automated formative feedback on code quality using software metrics
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.
Thu 18 AprDisplayed time zone: Lisbon change
11:00 - 12:30 | Evolution 2Research Track / Journal-first Papers / Software Engineering Education and Training at Amália Rodrigues Chair(s): Massimiliano Di Penta University of Sannio, Italy | ||
11:00 15mTalk | On Using GUI Interaction Data to Improve Text Retrieval-based Bug Localization Research Track Junayed Mahmud George Mason University, Nadeeshan De Silva William & Mary, Safwat Ali Khan George Mason University, Seyed Hooman Mostafavi George Mason University, S M Hasan Mansur George Mason University, Oscar Chaparro William & Mary, Andrian (Andi) Marcus The University of Texas at Dallas, Kevin Moran University of Central Florida | ||
11:15 15mTalk | DEMISTIFY: Identifying On-device Machine Learning Models Stealing and Reuse Vulnerabilities in Mobile Apps Research Track Pengcheng Ren Shandong University, Chaoshun Zuo Ohio State University, Xiaofeng Liu Shandong University, Wenrui Diao Shandong University, Qingchuan Zhao City University of Hong Kong, Shanqing Guo Shandong University | ||
11:30 15mTalk | How do Developers Talk about GitHub Actions? Evidence from Online Software Development Community Research Track Yang Zhang National University of Defense Technology, China, Yiwen Wu National University of Defense Technology, Tingting Chen College of Computer, National University of Defense Technology, Tao Wang National University of Defense Technology, Hui Liu Beijing Institute of Technology, Huaimin Wang | ||
11:45 15mPaper | Design principles for generating and presenting automated formative feedback on code quality using software metrics Software Engineering Education and Training Eddy van den Aker Zuyd University of Applied Science, Ebrahim Rahimi Open University, the Netherlands | ||
12:00 7mTalk | Automatic Specialization of Third-Party Java Dependencies Journal-first Papers César Soto-Valero KTH, Deepika Tiwari KTH Royal Institute of Technology, Tim Toady Programming Republic of Perl, Benoit Baudry KTH | ||
12:07 7mTalk | Discovering Reusable Functional Features in Legacy Object-Oriented Systems Journal-first Papers Hafedh Mili Université du Québec à Montréal, Imen Benzarti École de technologie supérieure, Amel Elkharraz Collège de Bois-de-Boulogne, Ghizlane El Boussaidi École de Technologie Supérieure, Yann-Gaël Guéhéneuc Concordia University and Polytechnique Montréal, Petko Valchev Université du Québec à Montréal |