Rookie Mistakes: Measuring Software Quality in Student Projects to Guide Educational Enhancement
- URL: http://arxiv.org/abs/2507.12488v1
- Date: Tue, 15 Jul 2025 19:37:23 GMT
- Title: Rookie Mistakes: Measuring Software Quality in Student Projects to Guide Educational Enhancement
- Authors: Marco De Luca, Sergio Di Martino, Sergio Di Meglio, Anna Rita Fasolino, Luigi Libero Lucio Starace, Porfirio Tramontana,
- Abstract summary: We apply a static analysis pipeline to assess software quality, combining SonarQube and ArchUnit to detect code smells and architectural anti-patterns.<n>Our findings highlight recurring quality issues and offer concrete evidence of the challenges students face at this stage.
- Score: 1.7482569079741024
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: When teaching Programming and Software Engineering in Bachelor's Degree programs, the emphasis on creating functional software projects often overshadows the focus on software quality, a trend that aligns with ACM curricula recommendations. Software Engineering courses are typically introduced later in the curriculum, and can generally allocate only limited time to quality-related topics, leaving educators with the challenge of deciding which quality aspects to prioritize. In this decision, the literature offers limited guidance, as most existing studies focus on code written by novice students and small code units, making it unclear whether those findings extend to intermediate-level students with foundational object-oriented programming skills working on more complex software projects. To address this gap, we analyze 83 object-oriented team projects developed by 172 university students across 4 different editions of the Object-Oriented Programming course. We apply a static analysis pipeline used in prior research to assess software quality, combining SonarQube and ArchUnit to detect code smells and architectural anti-patterns. Our findings highlight recurring quality issues and offer concrete evidence of the challenges students face at this stage, providing valuable guidance for educators aiming to continuously improve Software Engineering curricula and promote quality-oriented development practices.
Related papers
- MERA Code: A Unified Framework for Evaluating Code Generation Across Tasks [56.34018316319873]
We propose MERA Code, a benchmark for evaluating code for the latest code generation LLMs in Russian.<n>This benchmark includes 11 evaluation tasks that span 8 programming languages.<n>We evaluate open LLMs and frontier API models, analyzing their limitations in terms of practical coding tasks in non-English languages.
arXiv Detail & Related papers (2025-07-16T14:31:33Z) - Innovating the software engineering class through multi-team development [0.0]
This paper presents a new approach to teaching undergraduate software engineering.<n>The students are grouped into multiple software teams, each focusing on a different aspect of the app.<n>Using an Agile development approach, the teams incrementally add to the code base and demonstrate features as the application evolves.
arXiv Detail & Related papers (2025-02-04T18:54:43Z) - Understanding the Effect of Agile Practice Quality on Software Product Quality [0.0]
Good coding practices and quality management techniques positively correlated with all dimensions of product quality.<n>High levels of team planning and communication were not necessary for all software development activities.
arXiv Detail & Related papers (2024-12-20T10:26:54Z) - Integrating Human-Centric Approaches into Undergraduate Software Engineering Education: A Scoping Review and Curriculum Analysis in the Australian Context [0.0]
Human-Centric Software Engineering refers to the software engineering processes that put human needs and requirements as core practice.
A large majority of software projects fail to cater to human needs and consequently run into budget, delivery, and usability issues.
This paper presents a scoping review to identify the topics and curriculum approaches suitable for teaching HCSE to undergraduate software engineering students.
arXiv Detail & Related papers (2024-07-10T02:34:58Z) - Agent-Driven Automatic Software Improvement [55.2480439325792]
This research proposal aims to explore innovative solutions by focusing on the deployment of agents powered by Large Language Models (LLMs)
The iterative nature of agents, which allows for continuous learning and adaptation, can help surpass common challenges in code generation.
We aim to use the iterative feedback in these systems to further fine-tune the LLMs underlying the agents, becoming better aligned to the task of automated software improvement.
arXiv Detail & Related papers (2024-06-24T15:45:22Z) - Fuzzy Intelligent System for Student Software Project Evaluation [0.0]
This paper introduces a fuzzy intelligent system designed to evaluate academic software projects.
The system processes the input criteria to produce a quantifiable measure of project success.
Our approach standardizes project evaluations and helps to reduce the subjective bias in manual grading.
arXiv Detail & Related papers (2024-05-01T11:12:22Z) - Charting a Path to Efficient Onboarding: The Role of Software
Visualization [49.1574468325115]
The present study aims to explore the familiarity of managers, leaders, and developers with software visualization tools.
This approach incorporated quantitative and qualitative analyses of data collected from practitioners using questionnaires and semi-structured interviews.
arXiv Detail & Related papers (2024-01-17T21:30:45Z) - Software Engineering Educational Experience in Building an Intelligent Tutoring System [10.935408461248173]
This paper discusses the Intelligent Tutoring System architecture, our teaching concept in the SE course, and our experience with the built ITS.<n>This SE course envisions building a full-fledged Intelligent Tutoring System to provide automated, real-time feedback for novice students in programming courses over multiple years.
arXiv Detail & Related papers (2023-10-09T07:28:41Z) - ChatDev: Communicative Agents for Software Development [84.90400377131962]
ChatDev is a chat-powered software development framework in which specialized agents are guided in what to communicate.
These agents actively contribute to the design, coding, and testing phases through unified language-based communication.
arXiv Detail & Related papers (2023-07-16T02:11:34Z) - Understanding the Challenges of Deploying Live-Traceability Solutions [45.235173351109374]
SAFA.ai is a startup focusing on fine-tuning project-specific models that deliver automated traceability in a near real-time environment.
This paper describes the challenges that characterize commercializing software traceability and highlights possible future directions.
arXiv Detail & Related papers (2023-06-19T14:34:16Z) - Hierarchical Programmatic Reinforcement Learning via Learning to Compose
Programs [58.94569213396991]
We propose a hierarchical programmatic reinforcement learning framework to produce program policies.
By learning to compose programs, our proposed framework can produce program policies that describe out-of-distributionally complex behaviors.
The experimental results in the Karel domain show that our proposed framework outperforms baselines.
arXiv Detail & Related papers (2023-01-30T14:50:46Z) - Machine Learning for Software Engineering: A Systematic Mapping [73.30245214374027]
The software development industry is rapidly adopting machine learning for transitioning modern day software systems towards highly intelligent and self-learning systems.
No comprehensive study exists that explores the current state-of-the-art on the adoption of machine learning across software engineering life cycle stages.
This study introduces a machine learning for software engineering (MLSE) taxonomy classifying the state-of-the-art machine learning techniques according to their applicability to various software engineering life cycle stages.
arXiv Detail & Related papers (2020-05-27T11:56:56Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.