Antecipanting Technical Debt Items in Model Driven Development Projects
Model Driven Development, Technical Debt, Bad Smell
ABSTRACT
Model Driven Development (MDD) and the Technical Debt (TD) metaphor are software
engineering approaches that look for promoting quality of systems under development.
While MDD does it through the use of models as primary artifacts in the software development
process, TD management does it by correctly dealing with problems that, out
of control, can impair system maintenance and evolution. 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 code
generation is often done at a later stage than creating models, and then dealing with TD
only in source code can lead to unnecessary interest payments due to unmanaged debts.
Recent works concluded that MDD project codes are not technical debt free, making it
necessary to investigate the possibility and bene ts of applying TD identi cation techniques
in earlier stages of the development process, such as in modeling phases. This
work 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. For this, we investigated source code TD detection techniques were
evaluated with the purpose of adapting them to be used in the model abstraction level.
A catalog of nine di erent model technical debt items for platform-independent codegenerating
models was speci ed, with detection strategies that can automate the TD
identi cation process in the models. Then, the proposed detection strategies were implemented
in a tool that allows both speci cation and automatic identi cation of so-called
model smells in EMF models. A preliminary study was performed to evaluate and re ne
the proposed detection strategies by using 3 opensource projects versioned on Github.
Then, a deeper experimental study was performed in order to evaluate the detection strategies
real e ectiveness in anticipating the technical debt identi cation, detecting them
in the code-generating models. A total of 9 di erent projects, with 36 EMF models and
more than 400 thousand lines of code were used in this evaluation, all opensource, git
versioned and developed with EMF technology. Results showed that the evaluated detection
strategies are able to anticipate a great amount of source code technical debt in the
code-generating models. However, di erent catalog items presented di erent anticipation
e ectiveness levels and various levels of occurrences in the studied projects. A discussion
was performed for each evaluated item in order to explain the obtained results. Finally,
aspects were obtained that may guide future works in improvements and also extension
of the catalog.