Sustainability in Software Engineering
Sustainability in Software Engineering
net/publication/325773569
CITATIONS READS
36 3,228
3 authors, including:
All content following this page was uploaded by Francesco Osborne on 08 January 2019.
Abstract—The intersection between software engineering re- state of the art by addressing the following main research
search and the problems related to sustainability and green IT question (RQ):
has been the subject of increasing attention. In spite of that,
we observe that sustainability is still not clearly defined, or How is sustainability currently defined in the context of Soft-
understood, in the field of software engineering. This lack of ware Engineering?
clarity leads to confusion about e.g. what is relevant to measure
or the research implications over time or space. To answer RQ, we analyzed a wide range of primary
studies and employed the systematic mapping study research
This paper provides an overview of how the research so method as defined by Peterson et al. [17]. This type of
far has defined sustainability, and how this definition has been secondary study gives an objective framework for structuring
used to guide which research areas. To this end, we carried and analyzing the research domain and is a suitable means for
out a systematic mapping study for selecting, classifying and
identifying trends in research.
analyzing relevant publications. In this study, we investigate
which knowledge areas and which time scope of sustainability
effects are mostly targeted in scientific research. Our analysis II. M ETHODOLOGY
shows research trends and discusses gaps to be filled.
In order to ensure a traceable and reproducible process,
Keywords—Sustainability, Software Engineering, Systematic the following section will define the protocol used in our
Mapping Study. systematic mapping study.
In the past years, climate change and an increasing aware- For the sake of a more structured approach for information
ness for social inequality have made sustainability a growing extraction, our main RQ has been refined into the following
concern in a wide variety of disciplines. The discipline of detailed research questions:
Software Engineering (SE) is no exception. A widely quoted RQ1: Which sub-disciplines of SE, if any, does the definition
definition characterizes sustainability as the ability to meet relate to? SE is a wide field encompassing, according to
“the needs of the present without compromising the ability of the Software Engineering Body Of Knowledge (SWEBOK,
future generations to meet their own needs”[5]. However, when [4]), 15 sub-disciplines. Mapping existing research efforts onto
applied to SE, it is unclear what specific aspects of Software these sub-disciplines will provide an overview of which areas
Engineering and the resulting software systems it refers to. As have witnessed growing research efforts on sustainability, and
of now, there is no agreed-upon definition for sustainability where potential for additional research lies.
in the context of Software Engineering, and existing research
approaches rely upon different notions, ranging from e.g. RQ2: Which time scope is considered in the definition? Sus-
sustainability of the SE process [7] itself to specific software tainability is a concern for the future. However, the perceptions
applications designed to support sustainability goals impacting differ as to how far the future influence of an activity in
other disciplines [8]. sustainable development extends. Sustainability measures have
not only direct primary effects, but also indirect secondary or
Sadly, sustainability is regularly used in research papers as tertiary effects in the long term. Therefore, we are interested to
a vague buzzword, where the authors’ notion of the term is establish how far SE researchers have considered these effects
not stated clearly and has to be extrapolated from the text. in their notion of sustainability.
For a better understanding of existing papers and to give
researchers a motivation to provide a clearer definition of RQ3: How did the definition develop over time? Especially
their approach w.r.t. sustainability, a clear classification of all during the last years, the topic of sustainability has seen a
aspects of sustainability would be desirable. However, before strong increase in research activity in software engineering.
any attempt to establish such a framework for sustainability We are interested in how this may have influenced the way
research, it is necessary to establish an overview of current sustainability is understood and if there has been any shift in
research, in order to achieve a better understanding of which focus of research over time.
factors in software engineering are relevant for sustainability
and how effects propagate throughout the software engineering B. Search Strategy
lifecycle.
The primary studies identified in this mapping study were
To this end, this work provides an overview of the current retrieved by combining the following two search strategies.
effects on sustainability manifest. Depending on their focus, papers are only focusing on sustaining software on a technical
we assigned the following time scope categories: level without explicitly taking other dimensions into account.
• Development process: papers that attempt to make 5) Effects: Software Engineering not only directly impacts
the development part from the first designs to the sustainability in its various dimensions, but also indirectly. In
release of a software product more sustainable by order to determine to what extent authors take into account
guaranteeing development speed and quality. these indirect effects, all publications were also categorized
• Testing process: papers that exclusively deal with the into immediate (direct), enabling (indirect) and systemic im-
sustainability of the testing phase as a subprocess of pact, according to the order of effects targeted by the authors.
the development phase.
• Maintenance process: papers that aim to make the C. Time Scope of Sustainability
maintenance of a finished product more sustainable A major interest in this mapping study was the timeline
by, for example, reducing the personal, monetary and that authors of papers on sustainability in software engineering
environmental cost. took into consideration during their research. Figure 2 shows
• Runtime: papers that aim to achieve a positive effect how the papers are distributed over the different categories,
of software on sustainability during the time of its with Runtime being the most prominent, mostly due to a
execution. large number of papers focusing on software energy efficiency.
• Lifecycle: papers that do not specifically focus on any Apart from this, research considering sustainability during the
of the aforementioned categories, but look at sustain- complete software lifecycle was most common.
ability effects during the whole software lifecycle.
D. Sustainability by Knowledge Area
As an example, energy-efficiency optimization would man-
ifest during software runtime, while optimization in the soft- When looking at how the selected papers are distributed
ware architecture would make the maintenance phase of soft- over the SWEBOK knowledge areas, as presented in figure 3,
ware more sustainable. Of course these different time scopes a number of hotspots become immediately obvious. Software
overlap as well: development and testing happen during the Requirements, Software Design and the Software Engineering
maintenance process too, albeit in a limited extent. Papers were Process feature the biggest number of papers. Computing
assigned to a single category, in which the major focus lay. Foundations, which covers SE areas such as networks and
algorithms, is another prominent knowledge area.
4) Sustainability Dimensions: Sustainability is commonly
divided into different dimensions, depending on the type of Upon further inspection of how papers in these Knowledge
effects a product or process has. Normally considered are the Areas are distributed in terms of time scope, SE Process shows
environmental, economic and social dimensions of sustainabil- a stronger focus on the Software Lifecycle compared to other
ity. Apart from this, we also add technical sustainability as areas, whereas Computing Foundations has a strong focus on
a fourth dimension to this list, considering that a number of sustainability during Software Runtime.
Fig. 4. Distribution of papers over the different sustainability dimensions
Fig. 6. Number of publications by year. Note that there are less publications
for the years after 2014 due to limitations in the search strategy as detailed
in section II-B
Fig. 5. Mapping of papers according to their focus and the order of effects
the authors are targeting
E. Sustainability Dimensions
In figure 4, we are presenting an overview of how the
definitions in all included publications are distributed over
the various dimensions of sustainability. The vast majority of Fig. 7. Time Focus of SE research on sustainability plotted over time
publications are considering environmental sustainability if not
as a main concern, then at least as a partial concern. In contrast
to this, technical or social sustainability are only part of the One goal of this study is to examine to what extent the
considerations in a minority of papers. definition of sustainability in research has changed over time.
Figure 7 shows how publications over the years relate to the
time scope within the SE lifecycle that they are addressing.
F. Sustainability Focus and Effect Of course given the low number of papers before 2008 is
hard to give a comprehensive interpretation of the development
In figure 5, the focus of a publication on sustainability of the time scope between 2008 and 2016. Still, papers
of product, process, or both is displayed in context with the treating sustainability effects during software runtime have
order of effects targeted by the author. Generally, the bulk of only become prominent after 2009, while other scopes had
papers is solely focusing on sustainability of the product and already been addressed already earlier.
the immediate effects it has on sustainability. In relation to
that, publications that also consider the SE process, have a
tendency to focus as well on secondary and tertiary effects. IV. D ISCUSSION
In the following, the previously presented results of this
G. Sustainability research over the years mapping study will be discussed and used to answer the our
research questions. We will then discuss the extent to which
Figure 6 illustrates how the number of publications on the results are subject to threats to validity.
sustainability in SE has strongly increased over the years. The
numbers for the years 2014-2016 are only considered prelim- A. Research Questions
inary, due to the limitations in the used data set mentioned in
II-B. However, a trend can be seen and it becomes obvious RQ1: Which sub-disciplines of SE, if any, does the defi-
how interest in sustainability has increased. nition relate to? By analyzing the distribution of publications
over the SWEBOK knowledge areas (see Figure 3) we observe towards environmental sustainability. Mitigation
a clear trend: the four top-most researched areas are also those of this bias, however, is difficult: Green IT is
that have the most pervasive/broadest influence on the software a discipline that is clearly defined as addressing
lifecycle. These are (1) the SE Process (which includes the environmental sustainability concerns. Analogous
largest cluster of studies in sustainability research encom- keywords for the other dimensions of sustainabil-
passing the complete lifecycle, and hence providing both a ity (like social or technical) are harder to define
framework and a basis for research on sustainability); the areas or would be too vague, hence failing to filter
of (2) Software Requirements and (3) Software Design (which publications in a reasonable manner.
are both activities early in the SE lifecycle and therefore have Limitation of automatic extraction: The data
a high impact on the resulting product); and (c) the area of dump on which the extraction was performed
Computing Foundations (which provides a basis for further was restricted to publications until 2013 included,
research on Green IT and sustainable data centers). which becomes evident in figure 6. This weak-
ness has been balanced by including the primary
The remaining areas witness a significantly lower number
studies of a previous SLR as another source of
of studies. Among them, we think that potential for further
publications after 2013.
research surely exists in the area of Software Quality, es-
Classification of papers: The classification de-
pecially since at least some partial aspects of sustainability,
scribed in section III-B was executed by the first
such as resource efficiency, are already established as an
author alone. As such, it may contain a personal
aspect of software quality. Similarly, Software Testing, SE
bias. To mitigate this risk, the other authors have
Management, Models & Methods and Professional Practice
been consulted in case of doubt and in randomized
are areas where already a certain amount of research exists,
checks.
but in practice practitioners in these areas are largely unaware
of sustainability.
V. R ELATED WORK
RQ2: Which time scope is considered in the definition?
The majority of papers either focus on sustainability during Since this literature study also resulted in a number of re-
the complete Software Lifecycle or at Software Runtime only. lated research publications, these will now briefly be reviewed
In comparison to this, other time periods during the Software here to complement the results of this paper.
Lifecycle are less represented in research, this might be caused This is by far not the first literature study with a focus
by the fact that sustainability during the development or on sustainability in software engineering. Penzenstadler et al.
maintenance process is often not explicitly defined: it comes [14] performed a systematic literature review on the state of
under the name of other software quality aspects such as main- sustainability research in SE and divide the focus of research in
tainability, efficiency or adaptability, which describe properties a similar manner as has been done in this paper for the targeted
that influence a system’s sustainability during certain lifecycle time scope of research. The defined aspects attribute sustain-
phases. ability research to the development process, the maintenance
RQ3: How did the definition develop over time? Sustain- process, system production or system usage. A systematic
ability as a concern in SE is, all in all, a fairly recent topic. mapping study performed later by the same authors [16] maps
The majority of analyzed papers date from after 2010, after publications to knowledge areas, but identifies different areas
which the topic has seen a strong increase in attention. An than in this paper as hotspots, with Models & Methods and
examination of the distribution of time scopes for sustainability Software Design being more prominent. This might be due to
of these papers shows that sustainability during Software the fact that Green IT was not included as a topic specifically.
Runtime has become a major focus of research. Time-wise, Notable venues, authors and guidelines have been identified in
this coincides with the popularization of cloud technology, and a mapping study by Berntsen et al.[3].
ever-growing data-centers world-wide have created a need for A research paper by Penzenstadler [13] takes up the con-
more resource-efficient solutions, a development that has led cept of aspects for defining and delineating sustainability in SE
to awareness for Green IT and energy-efficient data-centers. as presented in the previously described SLR, and elaborated
Other than this increase in research activity, there is no clear on these aspects. A comprehensive description of the state
change in focus over time visible in the data collected from the of the art with an overview about established descriptions,
papers considered for this research. The papers might have to definitions and models, with a focus on the Green IT aspect
be analyzed in more detail than the approach of a systematic of sustainability, is given by Calero and Piattini [6].
mapping study allows to get a clearer picture. Apart from this.
all related work with a similar goal is still fairly recent, so it The frequently referenced GREENSOFT model publishes
remains to be seen how these efforts to bring structure and by Naumann et al. [9] aims to provide a structure and strategies
attention to sustainability research in Software Engineering in order to facilitate Green IT and provide a basis for sus-
impacts the field. Section V will present more details on these tainable software projects. The Generic Sustainable Software
works. Model presented by Amri et al. [1] characterizes software
sustainability according to the 5 dimensions environmental,
B. Threats to Validity technical, social, individual and economic. Sustainability val-
ues are assigned to a SE project according to these dimensions.
We identified the following possible threats to validity:
Unusual among the list of related work is the so-called
Bias of keywords: The keywords of the search as Karlskrona Manifesto for Sustainability Design [2], signed
described in section II-B could have created a bias by a large number of researchers in the field, which aims
to further the dialogue about and foster awareness for sus- [10] F. Osborne, P. Lago, H. Muccini, and E. Motta. Reducing the effort
tainability design in Software Engineering. The accompanying for systematic reviews in software engineering. Empirical Software
paper delineates current definitions of sustainability and related Engineering, 2017. In preparation.
aspects and concepts. [11] F. Osborne and E. Motta. Klink-2: integrating multiple web sources
to generate semantic topic networks. In International Semantic Web
Finally, in order to foster awareness for sustainability Conference, pages 408–424. Springer, 2015.
already in young academics, Penzenstadler and Fleischmann [12] F. Osborne, A. Salatino, A. Birukou, and E. Motta. Automatic
[15] propose a plan for integrating sustainability concepts into classification of springer nature proceedings with smart topic miner.
In International Semantic Web Conference, pages 383–399. Springer,
the curriculum of Master students in Software Engineering. 2016.
[13] B. Penzenstadler. Towards a Definition of Sustainability in and for
VI. C ONCLUSION Software Engineering. In Proceedings of the 28th Annual ACM
Symposium on Applied Computing, SAC ’13, pages 1183–1185, New
The systematic mapping study presented in this paper had York, NY, USA, 2013. ACM.
the goal to give an overview as to how researchers in the [14] B. Penzenstadler, V. Bauer, C. Calero, and X. Franch. Sustainability in
domain of Software Engineering defined and approached the software engineering: A systematic literature review. In 16th Interna-
omnipresent issue of sustainability. Taken on one hand from tional Conference on Evaluation Assessment in Software Engineering
a previously executed literature study and on the other hand (EASE 2012), pages 32–41, May 2012.
extracted automatically, we analyzed a total of 1035 papers [15] B. Penzenstadler and A. Fleischmann. Teach sustainability in software
on sustainability and Green IT. Given a suitable data set of engineering? In 2011 24th IEEE-CS Conference on Software Engineer-
ing Education and Training (CSEE T), pages 454–458, May 2011.
publications as a basis, this automatic extraction algorithm
[16] B. Penzenstadler, A. Raturi, D. Richardson, C. Calero, H. Femmer,
significantly decreases the manual effort necessary for the and X. Franch. Systematic Mapping Study on Software Engineering
execution of a study, however, it does not entirely eliminate for Sustainability (SE4s). In Proceedings of the 18th International
the manual review process. Conference on Evaluation and Assessment in Software Engineering,
EASE ’14, pages 14:1–14:14, New York, NY, USA, 2014. ACM.
The analysis of the finally selected papers emphasizes [17] K. Petersen, S. Vakkalanka, and L. Kuzniarz. Guidelines for conduct-
how relatively new sustainability is as an issue in software ing systematic mapping studies in software engineering: An update.
engineering. Research is strongly focused on the environmental Information and Software Technology, 64:1–18, Aug. 2015.
aspect and the direct effects of the software engineering
process and the resulting product. Systemic effects of software
and the SE process are still getting relatively few attention.
Efforts in related work to formalize sustainability as part of
the SE process have been made only during recent years and
have yet to make their way into official standards and models.
R EFERENCES
[1] R. Amri and N. B. B. Saoud. Towards a Generic Sustainable Software
Model. In 2014 Fourth International Conference on Advances in
Computing and Communications, pages 231–234, Aug. 2014.
[2] C. Becker, R. Chitchyan, L. Duboc, S. Easterbrook, B. Penzenstadler,
N. Seyff, and C. C. Venters. Sustainability Design and Software: The
Karlskrona Manifesto. In 2015 IEEE/ACM 37th IEEE International
Conference on Software Engineering, volume 2, pages 467–476, May
2015.
[3] K. R. Berntsen, M. R. Olsen, N. Limbu, A. T. Tran, and R. Colomo-
Palacios. Sustainability in Software Engineering - A Systematic
Mapping. In SpringerLink, pages 23–32. Springer, Cham, Oct. 2016.
[4] P. Bourque and R. E. Fairley, editors. Guide to the Software Engineering
Body of Knowledge (SWEBOK(R)): Version 3.0. IEEE Computer
Society Press, Los Alamitos, CA, USA, 3rd edition, 2014.
[5] G. H. Brundtland. Our common future - Call for action. Environmental
Conservation, 14(04):291–294, 1987.
[6] C. Calero and M. Piattini. Introduction to green in software engineering.
In C. Calero and M. Piattini, editors, Green in Software Engineering,
pages 3–27. Springer, 2015.
[7] E. Jagroep, J. Broekman, J. M. E. M. van der Werf, S. Brinkkemper,
P. Lago, L. Blom, and R. van Vliet. Awakening awareness on energy
consumption in software engineering. In Proceedings of the 39th Inter-
national Conference on Software Engineering: Software Engineering in
Society Track, ICSE SEIS, pages 76–85. IEEE Press, 2017.
[8] P. Lago, R. Kazman, N. Meyer, M. Morisio, H. A. Müller, and
F. Paulisch. Exploring initial challenges for green software engineering:
Summary of the first GREENS workshop, at ICSE 2012. SIGSOFT
Softw. Eng. Notes, 38(1):31–33, Jan. 2013.
[9] S. Naumann, M. Dick, E. Kern, and T. Johann. The GREENSOFT
Model: A reference model for green and sustainable software and
its engineering. Sustainable Computing: Informatics and Systems,
1(4):294–304, Dec. 2011.