The Journal of Systems & Software 169 (2020) 110684
Contents lists available at ScienceDirect
The Journal of Systems & Software
journal homepage: www.elsevier.com/locate/jss
A comparison of quality flaws and technical debt in model
transformation specifications
Shekoufeh Kolahdouz-Rahimi
a,∗
, Kevin Lano
b
, Mohammadreza Sharbaf
a
,
Meysam Karimi
a
, Hessa Alfraihi
c
a
MDSE Research Group, Dept. of Software Engineering, University of Isfahan, Iran
b
Dept. of Informatics, King’s College London, London, UK
c
Dept. of Information Systems, Princess Nourah bint Abdulrahman University, Saudi Arabia
article info
Article history:
Received 20 January 2020
Received in revised form 29 May 2020
Accepted 1 June 2020
Available online 8 June 2020
Keywords:
Model transformations
Technical debt
Software quality
abstract
The quality of model transformations (MT) has high impact on model-driven engineering (MDE)
software development approaches, because of the central role played by transformations in MDE for
refining, migrating, refactoring and other operations on models.
For programming languages, a popular paradigm for code quality is the concept of technical debt
(TD), which uses the analogy that quality flaws in code are a debt burden carried by the software,
which must either be ‘redeemed’ by expending specific effort to remove its flaws, or be tolerated,
with ongoing additional costs to maintenance due to the flaws.
Whilst the analysis and management of quality flaws and TD in programming languages has been
investigated in depth over several years, less research on the topic has been carried out for model
transformations. In this paper we investigate the characteristics of quality flaws and technical debt in
model transformation languages, based upon systematic analysis of over 100 transformation cases in
four leading MT languages.
Based on quality flaw indicators for TD, we identify significant differences in the level and kinds
of technical debt in different MT languages, and we propose ways in which TD in MT can be reduced
and managed.
© 2020 Elsevier Inc. All rights reserved.
1. Introduction
This paper will investigate the issue of quality flaws and tech-
nical debt (TD) (Cunningham, 1992; Marinescu, 2012) in model
transformation specifications (MT). The original definition of TD
in Cunningham (1992) referred to the use of non-optimal coding
practices used to accelerate development, and the consequences
of these practices: ‘‘shipping first time code is like going into
debt. A little debt speeds development so long as it is paid back
promptly with a rewrite [...] The danger occurs when the debt is
not repaid. Every minute spent on not-quite-right code counts as
interest on that debt’’.
An example of such ‘quick and dirty’ practices is the use
of copy–paste to define a new operation based on an existing
operation, instead of generalising the existing operation.
Thus technical debt refers to the additional costs incurred for
the maintenance of a software artefact over its lifetime, caused by the
∗
Corresponding author.
E-mail addresses: sh.rahimi@eng.ui.ac.ir (S. Kolahdouz-Rahimi),
kevin.lano@kcl.ac.uk (K. Lano), m.sharbaf@eng.ui.ac.ir (M. Sharbaf),
meysam.karimi@eng.ui.ac.ir (M. Karimi), hessa.alfraihi@kcl.ac.uk (H. Alfraihi).
use of non-optimal practices in its production. The principal cost of
TD is incurred when refactoring or other remedial action is used
to remove the TD from the software, whilst the interest is paid
in the additional cost due to the TD each time the software is
maintained. Depending on the projected lifetime of the artefact,
there may be lower total costs in tolerating the interest payments
as opposed to paying off the debt.
There are a range of perspectives on what constitutes technical
debt (Tom et al., 2012) and how it may be estimated (Zazworka
et al., 2014). The ‘non-optimal practices’ in software produc-
tion can encompass failures to use appropriate architectures or
design patterns in the software artefact, functional or testing
incompleteness, inappropriate and inadequate documentation,
insufficient consultation with stakeholders, and others (Zazworka
et al., 2014).
The concept of TD was initially applied to code artefacts, but
can also be extended to analysis and design models (Arendt and
Taentzer, 2010). In Model Driven Engineering (MDE) (Brambilla
et al., 2012; Lano, 2016), model transformations play a cen-
tral role, supporting MDE processes such as the synthesis of
https://doi.org/10.1016/j.jss.2020.110684
0164-1212/© 2020 Elsevier Inc. All rights reserved.