The Correspondence Between Software Quality Models and Technical Debt Estimation Approaches

Technical debt has recently become a major concern in the software industry. While it has been shown that technical debt has an adverse effect on the quality of a software system, there has been little work to explore this relationship. Further, with the growing number of approaches to estimate the technical debt principal of a software system, there is a dearth of work to empirically validate the relationship between technical debt scores produced by practical tools against established theoretical quality models. We conducted a case study across 10 releases of 10 open source systems in order to evaluate three proposed methods of technical debt principal estimation. The evaluation compares each technique against an external quality model. We found that only one estimation technique had a strong correlation to the quality attributes reusability and understand ability. In a multiple linear regression analysis we also found that a different estimation technique had a significant relationship to the quality attributes effectiveness and functionality. These results indicate that it is important that industry practitioners, ensure that the technical debt estimate they employ accurately depicts the effects of technical debt as viewed from their quality model.

[1]  Thomas H. Short Stats: Data and Models , 2005, Technometrics.

[2]  M I Kamien The economics of technical advance. , 1979, Science.

[3]  M. Kendall A NEW MEASURE OF RANK CORRELATION , 1938 .

[4]  Eric Allman,et al.  Managing technical debt , 2012, Commun. ACM.

[5]  Forrest Shull,et al.  Investigating the impact of design debt on software quality , 2011, MTD '11.

[6]  Radu Marinescu,et al.  Assessing technical debt by identifying design flaws in software systems , 2012, IBM J. Res. Dev..

[7]  Bill Curtis,et al.  Estimating the Principal of an Application's Technical Debt , 2012, IEEE Software.

[8]  Bill Curtis,et al.  Estimating the size, cost, and types of Technical Debt , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[9]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[10]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[11]  T. Cook,et al.  Quasi-experimentation: Design & analysis issues for field settings , 1979 .

[12]  Jean-Louis Letouzey,et al.  Managing Technical Debt with the SQALE Method , 2012, IEEE Software.

[13]  V. Basili Software modeling and measurement: the Goal/Question/Metric paradigm , 1992 .

[14]  Ward Cunningham,et al.  The WyCash portfolio management system , 1992, OOPSLA '92.

[15]  Tibor Gyimóthy,et al.  Software Product Quality Models , 2014, Evolving Software Systems.

[16]  Jing Li,et al.  The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies , 2010, 2010 Asia Pacific Software Engineering Conference.

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

[18]  Eric Allman,et al.  Managing Technical Debt , 2012, ACM Queue.

[19]  Jean-Louis Letouzey,et al.  The SQALE method for evaluating Technical Debt , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[20]  Forrest Shull,et al.  Prioritizing design debt investment opportunities , 2011, MTD '11.

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

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

[23]  Joost Visser,et al.  An empirical model of technical debt and interest , 2011, MTD '11.

[24]  Tibor Gyimóthy,et al.  A probabilistic software quality model , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[25]  Mark Kent O'Keeffe,et al.  Search-based software maintenance , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).