=Paper=
{{Paper
|id=None
|storemode=property
|title=Sustainability and Quality: Icing on the Cake
|pdfUrl=https://ceur-ws.org/Vol-995/paper5.pdf
|volume=Vol-995
|dblpUrl=https://dblp.org/rec/conf/re/CaleroBM13
}}
==Sustainability and Quality: Icing on the Cake==
Sustainability and Quality: icing on the cake
Coral Calero Manuel F. Bertoa Mª Ángeles Moraga
Instituto de Tecnologías y Sistemas Departamento de Lenguajes y Instituto de Tecnologías y Sistemas
de la Información Ciencias de la Computación de la Información
University of Castilla-La Mancha University of Malaga University of Castilla-La Mancha
Ciudad Real, Spain Malaga, Spain Ciudad Real, Spain
Coral.Calero@uclm.es bertoa@lcc.uma.es MariaAngeles.Moraga@uclm.es
Abstract— In the literature several definitions of sustainability relocation of software production and use, among others, are
and software sustainability can be found. However, we think elements to take into account.
none of them can be applied to the software development context. If we mix up these two ingredients (sustainability and
For that reason, in this poster we cook some existing definitions resource consumption) and using as basis the UN report [1], we
and we will propose a new one specific for the software
development. From this definition we try to create a new recipe,
can define sustainable software development as follows:
discovering how to combine sustainability and quality. As a result Sustainable software development refers to a mode of
several questions arise. From the result of answering these software development in which resource use aims to meet
questions, next steps on our research will be defined. product software needs while ensuring the sustainability of
Index Terms—Sustainability, Software Sustainability, Software natural systems and the environment.
Quality, Non-Functional Quality Requirements.
II. WHICH ARE THE RESOURCES TO OPTIMIZE (TO TAKE INTO
I. WHAT IS SUSTAINABILITY SOFTWARE? ACCOUNT) IN SOFTWARE DEVELOPMENT
The most cited definition of sustainable development is Once we have the definition of sustainable software
defined in [1] as “meets the needs of the present without development, based on the proper usage of resources, we need
compromising the ability of future generations to satisfy their to be clear which are these resources. In this way, we could
own needs.” According to [1], sustainable development needs take them into account during the development of a software
to satisfy the requirements of the three dimensions of society, product, improving their use, in order to increase the
economy, and environment. A fourth dimension, human sustainability of the final product.
sustainability, is less present in the public discussion. Recent systematic literature reviews [3, 4] have detected
Naumann el al. in [2] define Green and Sustainable that most of the measures found in the literature related to
Software as software, whose direct and indirect negative software sustainability measurement, were defined to measure
impacts on economy, society, human beings, and environment energy consumption, either directly or as a performance
that result from development, deployment, and usage of the indicator.
software are minimal and/or which has a positive effect on Agarwal et al in [5] state that software performance
sustainable development. Fundamentally, a software product depends on the basic computing resources like the CPU and the
has a direct impact related to resources and energy memory. Software demands for faster CPUs and increased
consumption during its production and use. Indirect impacts are memory, that derives in a mandatory computer upgrading. In
(1) effects from the software product usage together with other this situation the biggest sufferer is the earth’s sustainability, as
processes and (2) long term systemic effects. manufacturing and disposal equally contribute to the carbon
However, we have not found definitions on what is footprint. Moreover, we need to evaluate the software products
software development sustainability. As we think it is sustainability in terms of memory requirements and processor
fundamental for our work, we will try to create a new time. Other resources that appear in literature are network
definition. bandwidth and wireless technology because they influence the
And the first we need in order to do this is to think about ecological footprint of a software product.
how a software product can affect the sustainability. In [6] authors analyze the variation of the power
Software products mainly affect the environment through consumption in different versions of a software product. As a
resource consumption that occurs during its use and result, authors were not able to relate power consumption with
production. The most direct (and obvious) impact by a software size metrics. They also arrived to the conclusion that power use
product is energy consumption, but other resources may also was not just the CPU’s fault: disk and memory usage also
have a negative impact on the sustainability of the software. In matter.
this sense, the use of the processor, increased needs of memory A few studies evaluated the use of other types of resources
and disk storage, network utilization and bandwidth, potential that appear as a result of software product utilization: paper
wastage, ink and toner costs, etc.
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted only for private and academic
purposes. This volume is published and copyrighted by its editors.
An open question is whether a software product can directly
produce CO2 emissions or another kind of pollution.
As we can see all the proposals focus on the resource
utilization. So, it is clear that on the software development
these resources must be taken into account and must be
optimized in order to achieve a sustainable product.
From this reflection, we can also define the sustainability of
a software product as the capacity of developing a software
product in a sustainable manner.
III. NON-FUNCTIONAL QUALITY REQUIREMENTS
Once software sustainability has been defined and the
software resources to be taken into account from the
sustainability perspective have been identified, the next step is
to study how to address software sustainability (we use Fig. 1. Targets of quality model
"software sustainability" with the meaning of "software product
From this figure we can observe that product quality is
sustainability").
reflected on the Product quality model which is related to the
When a software product is developed it is necessary to
target software.
specify the requirements that the product should satisfy.
The product quality model is composed of eight
Software requirements can be classified into functional and
characteristics each one subdivided into several
non-functional requirements. The former should define the
subcharacteristics (see fig. 2).
fundamental actions that must take place in the software in
accepting and processing the inputs and in processing and
generating the outputs [7]. Therefore, the functional
requirements are related to the “What” of a software product.
Non-functional requirements can be seen as requirements
that constrain or set some quality attributes upon functionalities
[8]. This means that non-functional quality requirements can be
seen as the “How” of a software product.
Taking into account the software sustainability definition it
is obvious that sustainability is a way to improve a software
product, and then it must be related to the how and not to the
what. So, based on the definitions of functional and non-
functional requirements we believe that software sustainability
is related to non-functional requirements.
Fig. 2. Software product quality model in ISO/IEC 25010
And now? We are sure that sustainability, similarly to
quality, is related to non-functional requirements but, how do Non-functional requirements reflect the quality necessities
we combine both? This is the question we will try to answer or desires for a software product. As sustainability is related to
next. non-functional requirements, we think that sustainability must
IV. ISO/IEC 25000 also be related (in some manner) to this product quality model.
ISO/IEC 25000 is a series of standards specific for System V. OPEN QUESTIONS
and software product Quality Requirements and Evaluation, A final conclusion about the question we are trying to
namely SQuaRE [9]. In the ISO/IEC 25010 division, three answer about how to mix quality and sustainability, is that
quality models are defined [10]. In fig. 1 the targets of the there are four possible ways to mix both. Unfortunately, these
quality models and the related entities are shown. possibilities derive on new open questions that we need to
discuss in order to decide which one is the good one:
Q1. Should be software sustainability considered as a new
concept (at the same level of the software quality)
having its own characteristics and subcharacteristics
even sharing some of them with quality?
Q2. Should be software sustainability included as a new
characteristic into the software quality model proposed
by SQuaRE-25010?
Q3. Is the “performance efficiency” characteristic the same
as the software product sustainability?
Q4. Is sustainability a way to achieve the quality, this ACKNOWLEDGMENT
means, can we have a sustainable quality and a non- This work is part of the GEODAS-BC (TIN2012-37493-
sustainable quality? C03-01), the PEGASO (TIN2009-13718-C02-01) and Sistemas
The first option, considers the sustainability as an Inalámbricos de Gestión de Información Crítica (TIN2011-
independent concept of quality. This means that sustainability 23795) projects funded by the Spanish Ministerio de Economía
must be considered, from all the perspectives, independently of y Competitividad and by FEDER (Fondo Europeo de
quality. It will be necessary to think about sustainability, to Desarrollo Regional).
define it, creating a complete model (similarly to how quality is
defined) and explore how to work with it. Also it will be REFERENCES
necessary to plan how to include the sustainability in the [1] United Nations World Commission on Environment and
software development process. Development, "Report of the World Commission on
On the second option, sustainability belongs to quality, Environment and Development: Our Common Future," In
being part of it. This means that sustainability must be United Nations Conference on Environment and Development,
considered as a new characteristic on the model. Then, all the 1987.
operations and foundations given on the standard will be [2] S. Naumann, M. Dick, E. Kern, and T. Johann, "The greensoft
applied to the sustainability. In that case will be necessary to model: A reference model for green and sustainable software
define and its engineering," Sustainable Computing: Informatics and
The third option, considers that sustainability is the same Systems, vol. 1, (4) pp. 294-304, 2011.
that the performance efficiency characteristic of ISO25010. [3] P. Bozzelli, Q. Gu, and P. Lago. A systematic literature review
This means that sustainability is already included on the on green software metrics. Available at:
http://www.s2group.cs.vu.nl/wp-
standard. In that case the work must be focused on studying if
content/uploads/2013/01/LS.PaoloBozzelli.GreenMetrics.pdf
really these two characteristics match (also their respective
subcharacteristics). If we demonstrate this, then, no more work [4] C. Calero, M. F. Bertoa, and M. Moraga, "A Systematic
Literature Review for Software Sustainability Measures," in 2nd
will be necessary. International Workshop on Green and Sustainable Software
Finally, the fourth option puts the sustainability as an (GREENS 2013) in conjunction with ICSE 2013, 2013.
influencing factor over the quality but no as a part of it. It is [5] S. Agarwal, A. Nath, and D. Chowdhury, "Sustainable
like, let’s say, a way of doing things. The sustainability affects Approaches and Good Practices in Green Software
to each of the quality characteristics in the way that a quality Engineering,".International Journal of Research and Reviews in
characteristics can be achieved in a sustainable way or in a Computer Science (IJRRCS), vol. 3, (1) 2012.
non-sustainable way. In this case, it will be necessary to define [6] A. Hindle, "Green mining: Investigating power consumption
how to compose this new kind of interaction. across versions.," in 34th International Conference on Software
All the options present difficulties but can be considered as Engineering (ICSE), 2012, pp. 1301-1304.
valid. However, choose the best option, or the correct one, will [7] IEEE Std 830. IEEE Recommended Practice for Software
affect all the rest of our work because it will put the bases over Requirements Specifications. 1998.
which to follow the research on the achievement of sustainable [8] M. Glinz, "On non-functional requirements," in International
software products. Conference on Requirements Engineering, 2007, pp. 21-26.
So, considering fundamental to have the correct answer, we [9] ISO/IEC 25000, "Systems and software engineering - Software
want to know opinions about it, beyond our own opinions and product Quality Requirements and Evaluation SQuaRE," 2010.
intuitions. [10] ISO/IEC 25010, "Systems and software engineering - Software
product Quality Requirements and Evaluation (SQuaRE) -
Software product quality and system quality in use models.,"
2010.
Sustainability and Quality: icing on the cake
Coral Calero Manuel F. Bertoa Mª Ángeles Moraga
University of Castilla-La Mancha University of Malaga University of Castilla-La Mancha
Coral.Calero@uclm.es bertoa@lcc.uma.es MariaAngeles.Moraga@uclm.es
What is Sustainable Which are the
development? MIX! software resources?
Sustainable development Energetic consumption,
is a mode of human Time consumption,
development in which hardware resources,
resource use aims to other resources (paper,
meet human needs while ink, ...).
ensuring the sustainability
of natural systems and
the environment
Sustainable software development
refers to a mode of software
development in which resource use
aims to meet (product) software needs
while ensuring the sustainability
of natural systems and the environment.
greenalarcos.blogspot.com.es
ISO 25000 SOFT
DEVE W ARE
Quality Models
LOPM
ENT
Product Data Quality
Quality Model Quality Model in Use Model
Human-Computer System
WHA
Information System
Communication
System
Primary,
Secondary
or indirect
users
T
Target Computer System
Computer Non-target Target Target Non-target Usage
NON-FUNCTIONAL HOW
QUALITY
Hardware Software Software Data Data environment
Key:
REQUIREMENTS
What is measured by the model Others
Stakeholders
Factors that influence quality in use
FUNCTIONAL
REQUIREMENTS
S
S Q
Q
Q PERFORMANCE SQ
DIFFERENT CONCEPTS SUSTAINABILITY EFFICIENCY THE SAME
THAT SHARE SOME AS A PART AS THE SOFTWARE SUSTAINABLE
CHARACTERISTICS OF QUALITY SUSTAINABILITY QUALITY