Assessing Software Quality of Agile Student Projects by Data-mining Software Repositories

Group student software projects are important in computer science education. Students are encouraged to self-organize and learn technical skills, preparing them for real life software development. However, the projects contribute to multiple learning objectives, making coaching students a time consuming task. Thus, it is important to have a suitable best practice development process. For providing better insights for the students, the resulting software has to be of value and meet quality requirements, including maintainability, as in real life software development. Using source code quality metrics and by data mining repository data like commit history, we analyze six student projects, measuring their quality and identifying contributing factors to success or failure of a student project. Based on the findings, we formulate recommendations to improve future projects for students and researchers alike.

[1]  David P. Darcy,et al.  Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis , 1998, IEEE Trans. Software Eng..

[2]  Letha H. Etzkorn,et al.  Automated reusability quality analysis of OO legacy software , 2001, Inf. Softw. Technol..

[3]  Fernando Brito e Abreu,et al.  Evaluating the impact of object-oriented design on software quality , 1996, Proceedings of the 3rd International Software Metrics Symposium.

[4]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[5]  Tilmann Hampp Quantitative Analyse studentischer Projekte , 2006, Softwaretechnik-Trends.

[6]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[7]  Reinhold Plösch,et al.  The Quamoco product quality modelling and assessment approach , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[8]  Stéphane Ducasse,et al.  The squale model — A practice-based industrial quality model , 2009, 2009 IEEE International Conference on Software Maintenance.

[9]  Jeff Sutherland,et al.  The Scrum Guide , 2012 .

[10]  Tero Ahtee Inspections and historical data in teaching software engineering project course , 2003, Proceedings 16th Conference on Software Engineering Education and Training, 2003. (CSEE&T 2003)..

[11]  Magiel Bruntink,et al.  Predicting class testability using object-oriented metrics , 2004 .

[12]  Rachel Harrison,et al.  Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems , 2000, J. Syst. Softw..

[13]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[14]  Stefan Wagner,et al.  On Automatically Collectable Metrics for Software Maintainability Evaluation , 2014, 2014 Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement.

[15]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[16]  Elmar Jürgens,et al.  Software quality models: Purposes, usage scenarios and requirements , 2009, 2009 ICSE Workshop on Software Quality.

[17]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[18]  H. Zuse,et al.  Criteria for program comprehension derived from software complexity metrics , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[19]  Alexander Serebrenik,et al.  Mining student capstone projects with FRASR and ProM , 2011, OOPSLA Companion.

[20]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..