Interactions between environmental sustainability goals and software product quality: A mapping study

https://doi.org/10.1016/j.infsof.2017.10.002Get rights and content

Abstract

Context

Sustainability is considered as either a quality requirement or a quality characteristic that should be included in software when environmental protection concerns are being taken into account. However, addressing sustainability in software projects might have an impact on the quality of the software product delivered. Conflicting goals between sustainability and particular software product characteristics should be studied when developing application software, since achieving users’ requirements can be a hindrance in the quest to meet sustainability goals.

Objective

This paper aims to provide an overview of the approaches found in the literature for dealing with interactions between software product quality and sustainability in the context of application software.

Method

A systematic mapping study is conducted to identify practices for managing interactions between software quality characteristics and sustainability. The selected papers are classified according to the quality characteristic considered and their influence on sustainability.

Results

Most of the 66 selected papers focused on validating current technologies concerning their support for sustainability (46%%). The interaction between performance efficiency and energy efficiency is what is reported most and there is a fairly positive interaction. In addition, reliability and usability point to a positive interaction with energy efficiency, while security shows a conflicting interaction with energy efficiency. Functional suitability and maintainability can present both positive and negative interaction, with different goals derived from environmental sustainability.

Conclusions

Interactions between software quality and sustainability have been addressed within an explorative approach. There is a need for additional research work to characterize the impact of interaction on both software quality and sustainability. Furthermore, proposals should be validated in industrial settings.

Introduction

In recent years, software engineering has focused on developing sustainable software, which is defined as “software, whose impacts on economy, society, human beings, and environment that result from development, deployment and usage of the software are minimal and/or which have a positive effect on sustainable development” [1]. The impacts can be studied in three distinct scope levels [2]: direct (e.g. energy consumption), indirect (e.g. reducing energy consumption when supporting a business process), or rebound effect (e.g. optimizing energy efficiency of a product could have the effect of increasing its demand and therefore the overall energy consumption due to such product).

From the three dimensions of sustainable development identified in the Brundtland report [3] the environmental dimension, or “green” dimension, constitutes the context of this paper. In this dimension, sustainable software promotes energy efficiency, minimizes the environmental impact of the processes it supports, and has a positive impact on social and/or economic sustainability [4].

This paper focuses on the area of application software development, while also looking at the way environmental sustainability goals have an impact on software product quality. As a matter of fact, practices used to develop application software might well influence energy consumption. For instance, Capra et al. [5] reported that the application layer can increase the energy consumption of a server by up to 72%%; management information systems applications which satisfy the same functional requirements can mean up to 145%% increment in energy consumption when they are executed in the same computer system. Furthermore, Ardito et al. [6] found that software applications have a significant impact on the power consumption of desktop computers. Given an increased trend towards energy consumption due to personal computers and mobile devices [7], it is relevant to study the effect of software engineering practices on application software sustainability.

The main goal of this work is to investigate the approaches proposed in literature for dealing with interactions between software quality and sustainability in the context of application software. To achieve this goal, a Systematic Mapping Study (SMS) [8] was conducted, whose aim was to obtain a set of relevant papers that describes the practices, methods and techniques used to identify and resolve interactions between software quality and sustainability in the context of application software. To fulfill this purpose, two main issues are researched.

The first matter dealt with is sustainability, which is considered to be both a nonfunctional property of software and a software quality characteristic. In the former case, it includes resource consumption, greenhouse gas emissions, social sustainability and recycling [9], which can be treated as nonfunctional requirements in software projects. From the Green IT perspective, Ardito and Morisio [7] provide a summary of recommendations found in literature about the way to improve energy efficiency when the software application layer is considered. In this latter case, sustainability can be considered a central quality attribute, as safety and security, among others, are [10]. Using the Software Quality Assessment based on the Lifecycle Expectation model, Ardito et al. [11] proposed that energy efficiency was a subcharacteristic of the efficiency characteristic, and should be considered during software construction. Moreover, Calero et al. [12] extended the ISO/IEC 25010 [13] quality model by adding greenability into both the product quality model and the quality in use model, thus providing practitioners with a way to include environmental sustainability goals in software projects. A new challenge, therefore, is how to handle the interactions of sustainability with the rest of the quality characteristics.

The second issue is about interactions, which in the requirements area are described as situations in which the satisfaction of one requirement may affect the satisfaction of another [14]. With respect to software quality and sustainability, several researchers have stated the need to understand this interaction. Lago et al. [15] pointed out “It is already extremely difficult to identify, address and balance quality concerns in non-energy-aware software. In addition, when green concerns enter the picture, they are even more pervasive and potentially impact all other system qualities”. Furthermore, delivering high-quality software may increase the level of energy consumption, making it difficult to meet software green goals [16]. Addressing both sustainability and software quality may require an additional conceptual framework in order to provide support to trade-offs analysis and decision making [15].

As a result, from a practitioner's point of view, the SMS aims to summarize the influence of sustainability concerns in specific quality characteristics. Hence, they may use this information to make decisions about the way environmental sustainability goals can be included in a software project. From a researcher's perspective, the aim of this work is to provide a classification of the topics addressed and the empirical methods applied, as well as the way software quality characteristics have been studied. Thus, the SMS can provide an initial identification of papers so that further research can be started on topics barely addressed as yet.

The remainder of this paper is structured as follows. Section 2 presents the fundamentals about sustainability in software engineering, as well as the outcomes of related literature reviews. Section 3 describes the method used to conduct the mapping study. Section 4 sets out the results of the mapping, and Section 5 presents the discussion (summary and implications). Section 6 gives a description of the study's limitations. Finally, Section 7 provides the conclusions and proposes future work.

Section snippets

Background

This section provides an overview of the related work with regard to environmental sustainability and software quality. The first part describes some notions of the concept sustainability in software engineering. The second part presents a summary of related literature reviews about software engineering and software quality.

Planning of the SMS to provide an overview of software quality and sustainability

The research goal of this SMS is to identify interactions reported between software product quality characteristics and the green aspects, along with practices reported for managing them. The classification of selected papers must answer the following two general questions:

  • GQ1. What is the profile of papers addressing interactions between environmental sustainability goals and product quality characteristics when application software is developed?

  • GQ2. What specific interactions between

Results of the SMS: interactions between software quality and environmental sustainability

This section presents the results of the SMS, following the same order as the general research questions and sub-questions (Section 3).

Summary and implications of the SMS

Table 4 presents a brief response to research questions described in Section 3. Based on the quality in life cycle model (ISO/IEC 25010), Fig. 7 is an overview of the answer for the question GQ2-RQ2 interactions between software quality and sustainability aspects considering the three quality views: process quality, product quality and quality in use. Concerning process quality, defects in software can increase the energy consumption of software. On the other hand, interactions in the quality

Study limitations

In a systematic review, there are two main threats that have an impact on the reliability of the SMS: the selection bias and the data extraction bias [8], [40]. Considering the mitigation of selection bias, a protocol was developed to establish the goal of the research and the main research questions. The protocol identified the search terms and included a previous literature review about sustainability and software engineering.

The main purpose of this SMS is to provide a snapshot of the way

Conclusions

This paper presents the result of conducting an SMS about the interactions between software quality and sustainability aspects in the context of application software during its development stage. The set of primary papers allowed us to answer the research questions and to identify approaches for managing interactions between software quality and sustainability aspects, as well as to see potential interactions between these.

The results highlight that researchers are actively working in the study

Acknowledgments

This work has been funded by the project: GINSENG (Ministerio de Economía y Competitividad y Fondo Europeo de Desarrollo Regional FEDER, TIN2015-70259-C2-1-R).

References (110)

  • G. Agosta et al.

    Automatic memoization for energy efficiency in financial applications

    Sustain. Comput. – Inform. Syst.

    (2012)
  • M. Dick et al.

    Enhancing software engineering processes towards sustainable software product design

  • United-Nation, W.C.o.E.D., Report of the world commission on environment and development: our common future, in United...
  • B. Penzenstadler et al.

    Systematic mapping study on software engineering for sustainability (SE4S)

  • L. Ardito et al.

    Understanding green software development: a conceptual framework

    IT Prof.

    (2015)
  • B. Kitchenham et al.

    Ver. 2.3 EBSE Technical Report

    (2007)
  • P. Lago et al.

    2nd International workshop on green and sustainable software (GREENS 2013)

  • B. Penzenstadler et al.

    Safety, security, now sustainability: the nonfunctional requirement for the 21st century

    IEEE Softw.

    (2014)
  • L. Ardito et al.

    Introducing energy efficiency into sqale

  • C. Calero et al.

    Quality in use and software greenability

  • ISO/IEC-25010: Systems and Software Engineering – Software Product Quality Requirements and Evaluation (SQuaRE) –...
  • W.N. Robinson et al.

    Requirements interaction management

    ACM Comput. Surv.

    (2003)
  • P. Lago et al.

    Leveraging "energy efficiency to software users": summary of the second GREENS workshop, at ICSE 2013

    ACM SIGSOFT Softw. Eng. Notes

    (2014)
  • A.B. Bener et al.

    Green software

    IEEE Softw.

    (2014)
  • C. Calero et al.

    Introduction to green in software engineering

  • SustainAbility. Can Our Society Endure? Available from: http://sustainability.com/sustainability. (accessed 29...
  • L.M. Hilty et al.

    ICT for sustainability: an emerging research field

  • P. Lago et al.

    Framing sustainability as a property of software quality

    Commun. ACM

    (2015)
  • C. Calero et al.

    A systematic literature review for software sustainability measures

  • B. Penzenstadler et al.

    A generic model for sustainability with process- and product-specific instances

  • C. Becker et al.

    Sustainability design and software: the Karlskrona manifesto

  • A. Noureddine et al.

    A preliminary study of the impact of software engineering on GreenIT

  • K. Erdélyi

    Special factors of development of green software supporting eco sustainability

  • J. Taina

    Good, bad, and beautiful software – in search of green software quality factors

    CEPIS UPGRADE

    (2011)
  • B. Penzenstadler et al.

    Sustainability in software engineering: a systematic literature review

  • P. Bozzelli et al.

    A Systematic Literature Review on Green Software Metrics

    (2013)
  • P. Bourque et al.

    Guide to the Software Engineering Body of Knowledge

    (2014)
  • G.A. García-Mireles et al.

    Methods for supporting management of interactions between quality characteristics

  • R. Wieringa et al.

    Requirements engineering paper classification and evaluation criteria: a proposal and a discussion

    Requir. Eng.

    (2006)
  • P. Berander et al.

    Software Quality Attributes and Trade-offs

    (2005)
  • B. Kitchenham et al.

    Software quality: the elusive target [special issues section]

    IEEE Softw.

    (1996)
  • M. Unterkalmsteiner et al.

    Evaluation and measurement of software process improvement: a systematic literature review

    IEEE Trans. Softw. Eng.

    (2012)
  • ISO/IEC: Systems and Software Engineering – Software Life Cycle Processes – Redline. ISO/IEC 12207:2008(E) IEEE Std...
  • K.S. Vallerio et al.

    Energy-efficient graphical user interface design

    IEEE Trans. Mob. Comput.

    (2006)
  • A. Kansal et al.

    Fine-grained energy profiling for power-aware application design

    SIGMETRICS Perform. Eval. Rev.

    (2008)
  • J. Cabot et al.

    Integrating sustainability in decision-making processes: a modelling strategy

  • C. Calero et al.

    Green in Software Engineering

    (2015)
  • S.A. Koçak et al.

    Integrating environmental sustainability in software product quality

  • I. Moura et al.

    Mining energy-aware commits

  • I. Manotas et al.

    An empirical study of practitioners' perspectives on green software engineering

  • Cited by (47)

    • Application of ISO/IEC TR 33014 to the improvement of Green IT processes

      2022, Computer Standards and Interfaces
      Citation Excerpt :

      In fact, the adoption of Green IT is already demonstrating the great benefits it brings to organizations [13–16]. However, the Green IT adoption is a long and complex process, in which organizations often do not have enough tools/guides to face this challenge [17–19]. That is why, due to this lack of standards and/or frameworks, we have developed the “Governance and Management Framework for Green IT” (GMGIT) [20,21].

    • Drivers, barriers and impacts of digitalisation in rural areas from the viewpoint of experts

      2022, Information and Software Technology
      Citation Excerpt :

      Based on previous works, also in the broader area of software engineering for sustainability [21,39], Chitchyan et al. [40] gives an overview of techniques that can be applied to support sustainability in each RE phase. On a similar note, García-Mireles et al. [41] present a mapping study on sustainability and software product quality, highlighting that this is a particularly lively area of research, but still at its exploratory stage, with works that are mostly focused on the development of energy-saving solutions, which are only one of the multiple facets of sustainability. In another contribution [42], the same authors focus on surveying RE methodologies for sustainability, pointing out the limited knowledge available on how to assess the achievement of sustainability requirements.

    • Governance and Management of Green IT: A Multi-Case Study

      2021, Information and Software Technology
      Citation Excerpt :

      With this framework we aimed to help organizations to, on the one hand, carry out a correct implementation from the point of view of the governance and management of Green IT, and, on the other hand, perform the whole audit process to corroborate the adequacy, effectiveness, and efficiency of an implementation of Green IT. Also, thanks to the GMGIT 1.0 we managed to cover the need of organizations in this context, due to the lack of standards, frameworks, and best practices (among others) in this regard [17–19]. After the development of the GMGIT 1.0, we performed a series of validations (based on case studies and focus groups), which allowed us to improve, refine, and expand the framework, thanks to the lessons learned that we obtained, resulting in a new version of the framework, the GMGIT 2.0 [16].

    View all citing articles on Scopus
    View full text