Anticipating Identification of Technical Debt Items in Model-Driven Software Projects - Gomes, Ramón Araújo; Pinheiro, Larissa Barbosa L.; Maciel, Rita Suzana Pitangueira (Anais do Simpósio Brasileiro de Engenharia de Software (SBES); 2020: Anais do XXXIV Simpósio Brasileiro de Engenharia de Software, 2020)
Model-driven development (MDD) and Technical Debt (TD) are software engineering approaches that look for promoting the quality of systems under development. Most research on TD focuses on application code as primary TD sources. In an MDD project, however, dealing with technical debt only on the source code may not be an adequate strategy because MDD projects should focus their software building efforts on models. Besides, in MDD projects, code generation is often done at a later stage than creating models, then dealing with TD only in source code can lead to unnecessary interest payments due to unmanaged debts, such as model and source codes artifacts desynchronization. Recent works concluded that MDD project codes are not technical debt free, making it necessary to investigate the possibility and benefits of applying TD identification techniques in earlier stages of the development process, such as in modeling phases. The use of TD concept in an MDD context is also known as Model-Driven Technical Debt (MDTD). This paper intends to analyze whether it is possible to use source code technical debt detection strategies to identify TD on code-generating models in the context of model-driven development projects. A catalog of nine different model technical debt items for platform-independent code-generating models was specified. An evaluation was performed to observe the effectiveness of the proposed catalog compared to existing source code identification techniques found in the literature. Through three different open source software projects, more than 78 thousand lines of code were investigated. Results revealed that, although the catalog items present different precision rates, it is possible to identify these model-driven technical debts before source code is generated. We hope that sharing this catalog version provides future contributions and improvements.