skip to main content
10.1145/3530019.3530036acmotherconferencesArticle/Chapter ViewAbstractPublication PageseaseConference Proceedingsconference-collections
research-article

Evaluating Code Improvements in Software Quality Course Projects

Published: 13 June 2022 Publication History

Abstract

Software quality sits at the core of software engineering as a discipline. Yet, although each university software-engineering and the software-development course covers software quality to some extent, practitioners still lament on graduates’ readiness for practise for this very reason—poor quality of their code. As a result, we have engaged university industrial partners in designing a master-degree Software Quality course that puts the key software quality topics in one place.
In this paper, we report on the effects of the course on the quality of students’ coding projects. To this end, we have analysed a total of 54 project submissions from 27 students, with both manual and automated quality assessment methods. We have employed 30 manual and 22 automated quality characteristics related to coding style, architecture design and general development practices. In particular, we examine which characteristics of the code have improved the most and what were the most common issues. Additionally, we investigate how the code quality improvement is related to external aspects such as students’ prior coding experience, interest and their time spent on the assignments. We use the results to formulate a set of lessons learned in order to improve the design of the course and to inspire educators who consider introducing a similar type of course.

References

[1]
Dennis M Breuker, Jan Derriks, and Jacob Brunekreef. 2011. Measuring static quality of student code. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education. 13–17.
[2]
Neil Christopher Charles Brown, Michael Kölling, Davin McCall, and Ian Utting. 2014. Blackbox: A large scale repository of novice programmers’ activity. In Proceedings of the 45th ACM technical symposium on Computer science education. 223–228.
[3]
Barbora Buhnova, Renata Vevodova, and Eva Matejkova. 2020. Annual Reports of Association of Industrial Partners FI. https://www.fi.muni.cz/for-partners/annual-reports.html.en
[4]
Donald T Campbell and Julian C Stanley. 2015. Experimental and quasi-experimental designs for research. Ravenio Books.
[5]
G Campbell and Patroklos P Papapetrou. 2013. SonarQube in action. Manning Publications Co.
[6]
Stanislav Chren, Martin Macak, Bruno Rossi, and Barbora Buhnova. 2022. Software Quality Course Dataset. https://doi.org/10.6084/m9.figshare.19078031
[7]
Stanislav Chren, Bruno Rossi, Barbora Buhnova, Mouzhi Ge, and Tomas Pitner. 2019. Industrial Involvement in Information System Education: Lessons Learned from a Software Quality Course. In Proceedings of Information Systems Development: Information Systems Beyond 2020 (ISD2019). AIS.
[8]
Sivana Hamer, Christian Quesada-López, and Marcelo Jenkins. 2021. Students Projects’ Source Code Changes Impact on Software Quality Through Static Analysis. In Quality of Information and Communications Technology. Springer International Publishing, 553–564.
[9]
Y Hilburn and Massood Towhidnejad. 2002. Software quality across the curriculum. In 32nd Annual Frontiers in Education, Vol. 3. IEEE, S1G–S1G.
[10]
M. Letizia Jaccheri. 2001. Software quality and software process improvement course based on interaction with the local software industry. Computer Applications in Engineering Education 9, 4 (2001), 265–272.
[11]
Hieke Keuning, Bastiaan Heeren, and Johan Jeuring. 2017. Code quality issues in student programs. In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education. 110–115.
[12]
Falko Koetter, Monika Kochanowski, Maximilien Kintz, Benedikt Kersjes, Ivan Bogicevic, and Stefan Wagner. 2019. Assessing Software Quality of Agile Student Projects by Data-mining Software Repositories. In CSEDU (2). 244–251.
[13]
Yao Lu, Xinjun Mao, Tao Wang, Gang Yin, and Zude Li. 2020. Improving students’ programming quality with the continuous inspection process: a social coding perspective. Frontiers of Computer Science 14, 5 (2020), 1–18.
[14]
Robert C Martin. 2009. Clean code: a handbook of agile software craftsmanship. Pearson Education.
[15]
Robert C Martin. 2018. Clean architecture: a craftsman’s guide to software structure and design. Prentice Hall.
[16]
Nancy R Mead, Thomas B Hilburn, and Richard C Linger. 2010. Software Assurance Curriculum Project Volume 2: Undergraduate Course Outlines. Technical Report. CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST.
[17]
Keir Mierle, Kevin Laven, Sam Roweis, and Greg Wilson. 2005. Mining student CVS repositories for performance indicators. ACM SIGSOFT Software Engineering Notes 30, 4 (2005), 1–5.
[18]
Alf Inge Wang and Tor Stalhane. 2005. Using post mortem analysis to evaluate software architecture student projects. In 18th Conference on Software Engineering Education & Training (CSEET’05). IEEE, 43–50.
[19]
Rafal Włodarski, Aneta Poniszewska-Marańda, and Jean-Remy Falleri. 2022. Impact of software development processes on the outcomes of student computing projects: A tale of two universities. Information and Software Technology 144 (2022), 106787. https://doi.org/10.1016/j.infsof.2021.106787

Cited By

View all
  • (2025)Teaching Program Decomposition in CS1: A Conceptual Framework for Improved Code QualityProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701880(443-449)Online publication date: 12-Feb-2025
  • (2024)Using Extension Projects to Improve Software Engineering Education and Software Quality: The Experience of the “Ricardo de Almeida Falbo” Software Engineering Practices LaboratoryProceedings of the XXIII Brazilian Symposium on Software Quality10.1145/3701625.3701680(552-562)Online publication date: 5-Nov-2024
  • (2024)Research on a Software Feature Extraction Method Based on Code Fingerprint AnalysisProceedings of the 2024 9th International Conference on Cyber Security and Information Engineering10.1145/3689236.3695375(210-214)Online publication date: 15-Sep-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
EASE '22: Proceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering
June 2022
466 pages
ISBN:9781450396134
DOI:10.1145/3530019
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 June 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Qualitative Analysis
  2. Software Engineering
  3. Software Engineering Education
  4. Software Quality
  5. Static Code Analysis

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

EASE 2022

Acceptance Rates

Overall Acceptance Rate 71 of 232 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)52
  • Downloads (Last 6 weeks)9
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Teaching Program Decomposition in CS1: A Conceptual Framework for Improved Code QualityProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701880(443-449)Online publication date: 12-Feb-2025
  • (2024)Using Extension Projects to Improve Software Engineering Education and Software Quality: The Experience of the “Ricardo de Almeida Falbo” Software Engineering Practices LaboratoryProceedings of the XXIII Brazilian Symposium on Software Quality10.1145/3701625.3701680(552-562)Online publication date: 5-Nov-2024
  • (2024)Research on a Software Feature Extraction Method Based on Code Fingerprint AnalysisProceedings of the 2024 9th International Conference on Cyber Security and Information Engineering10.1145/3689236.3695375(210-214)Online publication date: 15-Sep-2024
  • (2024)AI-based Online Code Quality Assessment System2024 3rd International Conference on Cloud Computing, Big Data Application and Software Engineering (CBASE)10.1109/CBASE64041.2024.10824380(659-663)Online publication date: 11-Oct-2024
  • (2023)Developing students’ code style skills2023 IEEE 18th International Conference on Computer Science and Information Technologies (CSIT)10.1109/CSIT61576.2023.10324182(1-4)Online publication date: 19-Oct-2023
  • (2023)Students’ perceptions of integrating a contribution measurement tool in software engineering projects2023 IEEE 35th International Conference on Software Engineering Education and Training (CSEE&T)10.1109/CSEET58097.2023.00013(21-30)Online publication date: Aug-2023

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media