Abstract
Background: The contribution of modeling in software development has been a subject of debates. The proponents of model-driven development argue that a big upfront modeling requires substantial investment, but it will payoff later in the implementation phase in terms of increased productivity and quality. Other software engineers perceive modeling activity as a waste of time and money without any real contribution to the final software product. Considering present advancement of model-based software development in software industry, we are challenged to investigate the real contribution of modeling in software development. Objective: We analyze the impacts of UML modeling, specifically the production of class and sequence diagrams, on the quality of the code, as measured by defect density, and on defect resolution time. Method: Using data of a proprietary system, we conduct post-mortem analyses to test the difference in defect density between software modules that are modeled and not modeled. Similarly, we test the difference in resolution time between defects that are related to modeled and not modeled functionality. Result: We have found that the production of UML class diagrams and sequence diagrams reduces defect density in the code and the time required to fix defects. These results are obtained after controlling for the effects of co-factors such as code coupling and complexity. Conclusion: The results confirm that not only does the production of UML class diagrams and sequence diagrams possibly help improve the quality of software, but also it possibly help increase the productivity in software maintenance.
Similar content being viewed by others
References
Arisholm E, Briand LC, Hove SE, Labiche Y (2006) The impact of UML documentation on software maintenance: an experimental evaluation. IEEE Trans Softw Eng 32(6):365–381
Bettenburg N, Just S, Schröter A, Weiss C, Premraj R, Zimmermann T (2008) What makes a good bug report? In: Proceedings of the 16th ACM SIGSOFT international symposium on foundations of software engineering. ACM, New York, pp 308–318
Bijlsma D, Ferreira M, Luijten B, Visser J (2011) Faster issue resolution with higher technical quality of software. Softw Qual J 20:1–21
Briand LC, Labiche Y, Penta MD, Yan-Bondoc HD (2005) An experimental investigation of formality in UML-based development. IEEE Trans Softw Eng 31(10):833–849
Chidamber SR, Kemerer CF (1994) A metrics suite for object oriented design. IEEE Trans Softw Eng 20(6):476–493
Cruz-Lemus J, Genero M, Manso M, Morasca S, Piattini M (2009) Assessing the understandability of uml statechart diagrams with composite states—a family of empirical studies. Empir Softw Eng14(6):685–719
Cruz-Lemus JA, Genero M, Caivano D, Abrahão S, Insfrán E, Carsí JA (2011) Assessing the influence of stereotypes on the comprehension of UML sequence diagrams: a family of experiments. Inf Softw Technol 53(12):1391–1403
Dzidek W, Arisholm E, Briand L (2008) A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans Softw Eng 34(3):407–432
Fernández-Sáez A, Genero M, Chaudron M (2011) Does the level of detail of uml models affect the maintainability of source code? In: Proceedings of experiences and empirical studies in software modelling (EESSMod 2011)
Fenton NE, Neil M (1999) A critique of software defect prediction models. IEEE Trans Softw Eng 25(5):675–689
Forward A, Lethbridge T (2010) Perceptions of software modeling: a survey of software practitioners. In: 5th workshop from code centric to model centric: evaluating the effectiveness of MDD (C2M: EEMDD)
Glezer C, Last M, Nachmany E, Shoval P (2005) Quality and comprehension of UML interaction diagrams—an experimental comparison. Inf Softw Technol 47(10):675–692
Gravino C, Tortora G, Scanniello G (2010) An empirical investigation on the relation between analysis models and source code comprehension. In: Proceedings of the 2010 ACM symposium on applied computing. ACM, New York, pp 2365–2366
Highsmith J, Cockburn A (2001) Agile software development: the business of innovation. Computer 34:120–122
Khoshgoftaar TM, Allen EB (2003) Ordering fault-prone software modules. Softw Qual J 11(1):19–37
Kim S, Whitehead Jr E (2006) How long did it take to fix bugs? In: Proceedings of the 2006 international workshop on mining software repositories. ACM, New York, pp 173–174
Koru AG, Liu H (2005) An investigation of the effect of module size on defect prediction using static measures. SIGSOFT Softw Eng Notes 30(4):1–5
Krus DJ, Krus PH (1977) Lost: Mccall’s T scores: why? Educ Psychol Meas 37(1):257–261
Luijten B, Visser J, Zaidman A (2010) Assessment of issue handling efficiency. In: 2010 7th IEEE working conference on mining software repositories (MSR). IEEE, Piscataway, pp 94–97
Mann HB, Whitney DR (1947) On a test of whether one of two random variables is stochastically larger than the other. Ann Math Stat 18(1):50–60
McCabe TJ (1976) A complexity measure. IEEE Trans Softw Eng 2(4):308–320
Mohagheghi P, Conradi R, Killi O, Schwarz H (2004) An empirical study of software reuse vs. defect-density and stability. In: Proceedings of the 26th international conference on software engineering. IEEE, Piscataway, pp 282–291
Nagappan N, Ball T (2005) Use of relative code churn measures to predict system defect density. In: Proceedings of the 27th international conference on software engineering. IEEE, Piscataway, pp 284–292
Nugroho A (2009) Level of detail in uml models and its impact on model comprehension: a controlled experiment. Inf Softw Technol 51(12):1670–1685
Nugroho A, Chaudron MRV (2008a) Managing the quality of UML models in practice. In: Rech J, Bunse C (eds) Model-driven software development: integrating quality assurance. Information science reference. Imprint of: IGI Publishing, Hershey, pp 1–36
Nugroho A, Chaudron MRV (2008b) A survey into the rigor of UML use and its perceived impact on quality and productivity. In: ESEM ’08: Proceedings of the second ACM-IEEE international symposium on empirical software engineering and measurement. ACM, New York, pp 90–99
Nugroho A, Chaudron M (2009) Evaluating the impact of uml modeling on software quality: an industrial case study. In: Model driven engineering languages and systems, pp 181–195
Nugroho A, Flaton B, Chaudron MRV (2008) Empirical analysis of the relation between level of detail in UML models and defect density. In: Czarnecki K, Ober I, Bruel J-M, Uhl A, Völter M (eds) Proceedings of the 11th international conference on model driven engineering languages and systems (MODELS), Toulouse, France, Sept 28–Oct 3 2008, vol 5301. Lecture notes in computer science, Springer, Berlin Heidelberg, pp 600–614
Otero MC, Dolado J (2004) Evaluation of the comprehension of the dynamic modeling in UML. Inf Softw Technol 46(1):35–53
Ricca F, Penta MD, Torchiano M, Tonella P, Ceccato M (2007) The role of experience and ability in comprehension tasks supported by UML stereotypes. In: ICSE ’07: Proceedings of the 29th international conference on software engineering. IEEE Computer Society, Washington, DC, pp 375–384
Rutherford A (2001) Introducing ANOVA and ANCOVA: a GLM approach. Sage, Newbury Park
Scanniello G, Ricca F, Torchiano M (2011) On the effectiveness of the UML object diagrams: a replicated experiment. In: 15th annual conference on evaluation & assessment in software engineering (EASE 2011). IET, pp 76–85
Śliwerski J, Zimmermann T, Zeller A (2005) When do changes induce fixes? In: ACM sigsoft software engineering notes, vol 30. ACM, New York, pp 1–5
Staron M, Kuzniarz L, Wohlin C (2006) Empirical assessment of using stereotypes to improve comprehension of UML models: a set of experiments. J Syst Softw 79(5):727–742
Subramanyam R, Krishnan MS (2003) Empirical analysis of CK metrics for object-oriented design complexity: implications for software defects. IEEE Trans Softw Eng 29(4):297–310
Thörn C, Gustafsson T (2008) Uptake of modeling practices in SMES: initial results from an industrial survey. In: Proceedings of the 2008 international workshop on models in software engineering. ACM, New York, pp 21–26
Torchiano M (2004) Empirical assessment of UML static object diagrams. In; International workshop on program comprehension, pp 226–230
Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2000) Experimentation in software engineering: an introduction. Kluwer Academic, Norwell
Wust J (2005) SDMetrics: the software design metrics tool for UML
Acknowledgements
This work was accomplished under the FINESSE (des7015) project supported by the STW (Stichting Technische Wetenschappen), the Netherlands. We thank Logica and the project members of the IPS project for the discussions and support in providing the project data. Thanks also to the anonymous referees for their constructive comments that made a valuable contribution to this paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Daniel M. Berry
Rights and permissions
About this article
Cite this article
Nugroho, A., Chaudron, M.R.V. The impact of UML modeling on defect density and defect resolution time in a proprietary system. Empir Software Eng 19, 926–954 (2014). https://doi.org/10.1007/s10664-013-9243-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-013-9243-2