Skip to main content
zenodoopen

Anticipating Identification of Technical Debt Items in Model-Driven Software Projects

<p>Model-driven development (MDD) and Technical Debt (TD) are software engineering approaches that look for promoting quality on systems under development. MDD uses high-level abstraction models that can be transformed into application code, potentially improving system understanding and maintainability. TD, on the other hand, promotes quality through the use of strategies for detecting, quantifying, monitoring, and correcting software development problems that may hinder its maintenance and evolution. Most research on TD focuses on the 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 instead of source code. 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. The use of TD concept in an MDD context is also known as Model-Driven Technical Debt (MDTD). 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. 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. Each catalog item provides a detection strategy to automatically find elements suspected to incur the corresponding TD type in the models. An evaluation was performed in order 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 and deal with these model-driven technical debts before source code is generated. We hope that sharing this initial version provides future contributions and improvements for this catalog.</p>

ShareScore

24/100

Overall dataset sharing score

Score breakdown

These five areas show where the dataset supports — or may limit — practical reuse.

Stewardship
4
Harmonization
4
Access
16
Reuse readiness
0
Engagement
0