=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== https://ceur-ws.org/Vol-995/paper5.pdf
             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