Interactions between environmental sustainability goals and software product quality: A mapping study
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)
- et al.
The relevance of information and communication technologies for environmental sustainability – a prospective simulation study
Environ. Model. Softw.
(2006) - et al.
Is software "green"? Application development environments and energy efficiency in open source applications
Inf. Softw. Technol.
(2012) - et al.
Green IT – available data and guidelines for reducing energy consumption in IT systems
Sustain. Comput.: Inform. Syst.
(2014) - et al.
The GREENSOFT model: a reference model for green and sustainable software and its engineering
Sustain. Comput.: Inform. Syst.
(2011) - et al.
Software quality trade-offs: a systematic map
Inform. Softw. Technol.
(2012) - et al.
Guidelines for conducting systematic mapping studies in software engineering: an update
Inf. Softw. Technol.
(2015) - et al.
Approaches to promote product quality within software process improvement initiatives: a mapping study
J. Syst. Softw.
(2015) - et al.
Empirical studies of agile software development: a systematic review
Inf. Softw. Technol.
(2008) - et al.
Investigating dependencies in software requirements for change propagation analysis
Inf. Softw. Technol.
(2014) - et al.
Empirical evaluation of two best practices for energy-efficient software development
J. Syst. Softw.
(2016)
Automatic memoization for energy efficiency in financial applications
Sustain. Comput. – Inform. Syst.
Enhancing software engineering processes towards sustainable software product design
Systematic mapping study on software engineering for sustainability (SE4S)
Understanding green software development: a conceptual framework
IT Prof.
Ver. 2.3 EBSE Technical Report
2nd International workshop on green and sustainable software (GREENS 2013)
Safety, security, now sustainability: the nonfunctional requirement for the 21st century
IEEE Softw.
Introducing energy efficiency into sqale
Quality in use and software greenability
Requirements interaction management
ACM Comput. Surv.
Leveraging "energy efficiency to software users": summary of the second GREENS workshop, at ICSE 2013
ACM SIGSOFT Softw. Eng. Notes
Green software
IEEE Softw.
Introduction to green in software engineering
ICT for sustainability: an emerging research field
Framing sustainability as a property of software quality
Commun. ACM
A systematic literature review for software sustainability measures
A generic model for sustainability with process- and product-specific instances
Sustainability design and software: the Karlskrona manifesto
A preliminary study of the impact of software engineering on GreenIT
Special factors of development of green software supporting eco sustainability
Good, bad, and beautiful software – in search of green software quality factors
CEPIS UPGRADE
Sustainability in software engineering: a systematic literature review
A Systematic Literature Review on Green Software Metrics
Guide to the Software Engineering Body of Knowledge
Methods for supporting management of interactions between quality characteristics
Requirements engineering paper classification and evaluation criteria: a proposal and a discussion
Requir. Eng.
Software Quality Attributes and Trade-offs
Software quality: the elusive target [special issues section]
IEEE Softw.
Evaluation and measurement of software process improvement: a systematic literature review
IEEE Trans. Softw. Eng.
Energy-efficient graphical user interface design
IEEE Trans. Mob. Comput.
Fine-grained energy profiling for power-aware application design
SIGMETRICS Perform. Eval. Rev.
Integrating sustainability in decision-making processes: a modelling strategy
Green in Software Engineering
Integrating environmental sustainability in software product quality
Mining energy-aware commits
An empirical study of practitioners' perspectives on green software engineering
Cited by (47)
A systematic review on techniques and approaches to estimate mobile software energy consumption
2024, Sustainable Computing: Informatics and SystemsSustainable software engineering: Reflections on advances in research and practice
2023, Information and Software TechnologyApplication of ISO/IEC TR 33014 to the improvement of Green IT processes
2022, Computer Standards and InterfacesCitation 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 TechnologyCitation 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 TechnologyCitation 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].
Exploring the Nexus of Sustainability and Project Success: A Proposed Framework for the Software Sector
2023, Sustainability (Switzerland)