Influence of Model Refactoring on Code Debt: A Replicated Study

  • Emmanuel Sávio Silva Freire IFCE/UFBA
  • Amanda Ferraz de O. Passos IFBA
  • Cláudio Sant’Anna UFBA
  • Rodrigo Oliveira Spínola UNIFACS
  • Manoel G. de Mendonça Neto UFBA

Resumo




Context: The term Technical Debt (TD) is associated with the effect of immature artifacts in the development of software. Although TD may incur in different stages of development, few pieces of research have addressed the relationship between TD in models and its influence on their respective source codes. Goal: To investigate the influence of model refactoring on code debt and vice-versa. Method: A replicated study was conducted considering the refactoring of a Unified Modeling Language (UML) class diagram for the removal of model smells, code issues, and code debt items. Besides, a different round-trip engineering tool was used, other than that employed in the original study. Findings: The findings of the original study were confirmed, but the usage of different engineering tools may influence the quantification of code debt. Conclusion: New replicated studies are necessary to further investigate the influence of model refactoring on code debt, considering other code issues, detection tools and class diagrams.




 
Palavras-chave: model smells, code issues, technical debt, replicated study

Referências

Eduardo Bezerra. 2015. Princípios de Análise e Projetos de Sistemas com UML (3a ed.). Elsevier, Rio de Janeiro.

Ward Cunningham. 1992. The WyCash Portfolio Management System. In Addendum to the Proceedings on Object-oriented Programming Systems, Languages, and Applications (Addendum) (OOPSLA '92). ACM, New York, NY, USA, 29--30. https://doi.org/10.1145/157709.157715

Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional. http://www.amazon.ca/exec/obidos/redirect?tag=citeulike04-20{&}path=ASIN/0201485672

Emmanuel Sávio Silva Freire, Gabriel Cavalcante Oliveira, and Maria Eurizene de Sousa Gomes. 2018. Analysis of Open-Source CASE Tools for Supporting Software Modeling Process with UML. In Proceedings of the 17th Brazilian Symposium on Software Quality (SBQS). ACM, New York, NY, USA, 51--60. https://doi.org/10.1145/3275245.3275251

F. Giraldo, S. España, M. Pineda, W. Giraldo, and O. Pastor. 2014. Integrating Technical Debt into MDE. In Proceedings of the 26th International Conference on Advanced Information Systems Engineering (Forum) (CAISE '14 Forum). 9.

Omar S. Gómez, Natalia Juristo, and Sira Vegas. 2010. Replications Types in Experimental Disciplines. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM '10). ACM, New York, NY, USA, Article 3, 10 pages. https://doi.org/10.1145/1852786.1852790

Thorsten Haendler. 2018. On using UML Diagrams to Identify and Assess Software Design Smells. In Proceedings of the 13th International Conference on Software Technologies.

C. Izurieta, G. Rojas, and I. Griffith. 2015. Preemptive management of model driven technical debt for improving software quality. In 2015 11th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA). 31--36. https://doi.org/10.1145/2737182.2737193

Isela Macía, Cláudio Nogueira Sant'Anna, and Arndt Staa von. 2008. Detectando Problemas de Design em Diagramas de Classes: Um Estudo Experimental. In Proceedings of the V Experimental Software Engineering Latin American Workshop (ESELAW). 10.

Isela Macía and Arndt Staa von. 2009. Redução de Potenciais Defeitos através da Detecção de Anomalias em Diagramas de Classes. In Proceedings of the VI Experimental Software Engineering Latin American Workshop (ESELAW). 10.

Mohamed Maddeh, Mohamed Romdhani, and Khaled Ghédira. 2009. Classification of Model Refactoring Approaches. Journal of Object Technology 8 (2009), 143--158.

M. G. Mendonça, J. C. Maldonado, M. C. F. d. Oliveira, J. Carver, S. C. P. F. Fabbri, F. Shull, G. H. Travassos, E. N. Höhn, and V. R. Basili. 2008. A Framework for Software Engineering Experimental Replications. In 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008). 203--212. https://doi.org/10.1109/ICECCS.2008.38

Mohammed Misbhauddin and Mohammad Alshayeb. 2015. UML model refactoring: a systematic literature review. Empirical Software Engineering 20, 1 (01 Feb 2015), 206--251. https://doi.org/10.1007/s10664-013-9283-7

Nicolli Rios, Manoel Gomes de Mendonça Neto, and Rodrigo Oliveira Spínola. 2018. A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners. Information and Software Technology 102 (2018), 117--145. https://doi.org/10.1016/j.infsof.2018.05.010

Gonzalo Rojas, Clemente Izurieta, and Isaac Griffith. 2017. Toward Technical Debt Aware Software Modeling. In Proceedings of the XX Iberoamerican Conference on Software Engineering, Buenos Aires, Argentina, May 22-23, 2017. 99--112.

Brahmaleen K. Sidhu, Kawaljeet Singh, and Neeraj Sharma. 2018. A Catalogue of Model Smells and Refactoring Operations for Object-Oriented Software. In 2018 Second International Conference on Inventive Communication and Computational Technologies. https://doi.org/10.1142/S0218194018500365

Brahmaleen K. Sidhu, Kawaljeet Singh, and Neeraj Sharma. 2018. A Catalogue of Model Smells and Refactoring Operations for Object-Oriented Software. In Proceedings of the 2nd International Conference on Inventive Communication and Computational Technologies.

Rodrigo O. Spínola, Nico Zazworka, Antonio Vetro, Forrest Shull, and Carolyn Seaman. 2019. Understanding automated and human-based technical debt identification approaches-a two-phase study. Journal of the Brazilian Computer Society 25, 1 (08 Jun 2019), 5. https://doi.org/10.1186/s13173-019-0087-5

R. O. Spínola, A. Vetrò, N. Zazworka, C. Seaman, and F. Shull. 2013. Investigating technical debt folklore: Shedding some light on technical debt opinion. In 2013 4th International Workshop on Managing Technical Debt (MTD). 1--7. https://doi.org/10.1109/MTD.2013.6608671

Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in software engineering. Springer Science & Business Media.

Nico Zazworka, Rodrigo O. Spínola, Antonio Vetro', Forrest Shull, and Carolyn Seaman. 2013. A Case Study on Effectively Identifying Technical Debt. In Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering (EASE '13). ACM, New York, NY, USA, 42--47. https://doi.org/10.1145/2460999.2461005
Publicado
23/09/2019
FREIRE, Emmanuel Sávio Silva; PASSOS, Amanda Ferraz de O.; SANT’ANNA, Cláudio; SPÍNOLA, Rodrigo Oliveira; DE MENDONÇA NETO, Manoel G.. Influence of Model Refactoring on Code Debt: A Replicated Study. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 33. , 2019, Salvador. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 .