An Investigation on the Impact of MDE on Software Reuse - Lucrédio, Daniel; Almeida, Eduardo Santana de; Fortes, Renata P. M. (Anais do Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS); 2012: Anais do VI Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software, 2012)
Software reuse and model-driven engineering (MDE) are two distinct approaches that attempt to improve quality and productivity in software projects. Much is said about how MDE can increase software reuse by reducing the amount of hand-written code, but few studies consider the fact that in MDE other artifacts - models, tools, transformations and code generators - come into play and need to be considered. How much more reuse can we achieve with MDE? How reusable are these MDE-specific assets? Motivated by these questions, this paper presents the observations made in three exploratory studies. In each study, the same software was developed with and without MDE, and a comparison based on reuse metrics was made. The results indicate that MDE can increase and/or improve software reuse in different ways, but with some associated costs, such as increased software complexity and decreased maintainability. In the context of our observations, complex technical domains have more to gain from the automation achieved with MDE, while business domains seem to be more suitable for simpler feature-based configuration. We conclude the paper pointing out more studies that could be performed to gain additional knowledge regarding MDE and reuse.