=Paper= {{Paper |id=Vol-1216/paper6 |storemode=property |title=Quality in Use and Software Greenability |pdfUrl=https://ceur-ws.org/Vol-1216/paper6.pdf |volume=Vol-1216 |dblpUrl=https://dblp.org/rec/conf/re/CaleroMBD14 }} ==Quality in Use and Software Greenability== https://ceur-ws.org/Vol-1216/paper6.pdf
                Quality in Use and Software Greenability
Coral Calero, Mª Ángeles Moraga                           Manuel F. Bertoa                               Leticia Duboc
Instituto de Tecnologías y Sistemas de         Departamento de Lenguajes y Ciencias            Universidade do Estado do Rio de
             la Información                            de la Computación                                     Janeiro
  University of Castilla-La Mancha                    University of Malaga                          Rio de Janeiro, Brasil.
           Ciudad Real, Spain                            Malaga, Spain                                leticia@ime.uerj.br
             {Coral.Calero;                            bertoa@lcc.uma.es
  MariaAngeles.Moraga}@uclm.es


   Abstract— Software sustainability has recently begun to gain          However, none of these models considers sustainability or
importance. However, although proposals concerning what it is         the ecological aspects of software products. This is, from our
and how to achieve it are starting to appear, until now, there        point of view, an important weakness of the standards, since
have been very few proposals on how to model it. Sustainable          sustainability is gaining more and more importance in society
development consists of three dimensions: Social sustainability,
                                                                      in general and in industry in particular. We believe this
Economic sustainability and Environmental sustainability; the
latter being more closely related to technical aspects. There are     characteristic should also be considered in the software quality
also three environmental impact levels for ICTs: direct               context. Our proposal is to complete the quality models of the
environmental effects of production and use of ICTs, indirect         standard in such a manner that we will be able to take
environmental impacts related to the effects of ICTs and indirect     sustainability into consideration when developing or
effects on the environment. In this paper, we focus on                evaluating a software product. This will allow to create the
environmental sustainability and the first environmental impact       necessary foundation to incorporate into and assess
level, and more concretely, on the direct environmental effect of     greenability of a software product. In this paper, we present
software use. We specifically propose a greenability in use           our progress with respect to this goal.
characteristic to be considered as part of the quality in use model
                                                                         The reminder of this paper is organized as follows: Section
proposed by the ISO 25010 standard. This model can be used
using measures, indicators, or even Bayesian Networks in order        two presents important aspects of sustainability in general.
to link it with product quality. We therefore present an example      Section three discusses the importance of sustainability in the
of a Bayesian Network that links product quality to greenability      software context and presents the focus of our research.
in use. Our eventual goal is to provide developers with indicators    Section four describes the relevant aspects of the ISO/IEC
and guidelines on how to develop an environmentally friendly          25010 standard and its quality models. The product
software product.                                                     greenability characteristic, proposed by the authors in a
                                                                      previous work, is also shown in the fourth section. In Section
  Index Terms—Software quality, green software, greenability          five, we propose the greenability in use, a new characteristic
                         I. INTRODUCTION                              to be added to the quality in use model of the standard. Some
                                                                      examples of the levels of impact of this new characteristic are
   Quality is currently among organizations’ main goals               shown in Section six. Section seven shows how to combine
because nowadays the industry made efforts to obtain the              the product quality and the quality in use models by means of
ISO9000 or CMMI (even been mandatory in the USA if a                  Bayesian networks. Finally, Section eight presents our
company want to collaborate with the government). The                 conclusions and future work.
SWEBOK (Software Engineering Body of Knowledge) [16],
the main reference guide of software engineers includes a                                   II. SUSTAINABILITY
specific chapter about software quality and how to apply it to
                                                                          One of humanity’s current challenges is to conserve the
the software engineering discipline. A large number of                environment and attain a sustainable economic and social
organizations provide similar products, thus permitting               development.
consumers to choose from a wide variety of brands. The
                                                                          Sustainable development is commonly defined as
survival of these organizations depends, to an increasing
                                                                      “development that meets the needs of the present without
extent, on the quality of the products and services provided.
                                                                      compromising the ability of future generations to meet their
   The need for quality is also present in the software industry,
                                                                      own needs” [9]. According to the United Nations World
which has consequently become concerned about software
                                                                      Commission on Environment and Development [17],
quality. This has led to the appearance of the ISO/IEC 25000
                                                                      sustainable development needs to satisfy the requirements of
series of standards, representing the evolution of the ISO/IEC
                                                                      the three dimensions of society, economy, and the
9126 and the ISO/IEC 14598 series. This family is divided
                                                                      environment.
into five divisions, one of which, the ISO/IEC 2501n (and
                                                                          Sustainability has recently become more and more
more concretely the 25010), presents various software quality
                                                                      important to businesses. A business that fails to have a
models.
                                                                      sustainable development as one of its top priorities could
receive considerable public criticism and subsequently lose                  Economic sustainability is related to aspects of the
market legitimacy [6]. The authors of [6] state that, according               software business, but not to its development;
to a global IBM survey in 2008, 47% of organizations have                 Environmental sustainability deals with technical
started to redesign their business models on the basis of                     aspects of software development.
sustainability, treating sustainable development as a new source         Software product development mainly affects the
of innovation, an opportunity for cutting costs, and an              environment via the consumption of resources that occurs
mechanism by which to gain competitive advantages; all of            during its use and production. The most direct (and obvious)
which can be summarized under the concept of “strategic              impact of a software product is energy consumption, but other
sustainability”, introduced by [15] .                                resources may also have a negative impact on the software’s
    As noted by [6], technology is doubly important to pursue        sustainability. The use of a processor, increased needs of
strategic sustainability. On the one hand because it helps           memory and disk storage, network utilization and bandwidth,
organizations tackle environmental issues (using web                 the potential relocation of software production and use, among
conferences, repositories, etc.) and on the other because            others, are also elements to take into account.
technology is often responsible for major environmental                  We believe that it is of prime importance to pay the
degradation (amounts of energy consumed by the engineering           necessary attention to the environmental dimension of
processes needed to manufacture products). This mixed role           sustainability in the software context, which we term as green
puts technology organizations under tremendous conflicting           software or software greenability. figure 1 provides a graphic
pressures. Internally they are pressed to transform existing         representation of our research focus.
engineering processes to make them more environmentally
friendly, while externally they are expected to design new
products that improve the sustainability of society.
                III. SOFTWARE SUSTAINABILITY
    Although there have been initiatives related to Green IT,                 Software Sustainability
efforts in the Green software area are still in early stages.
Software development should not remain indifferent to the
need to construct software products that contribute towards
sustainability during both their creation and use. Software is the
                                                                               Software                            Software
core of any IT technology, and the way by which it is
                                                                                Social                             Economic
developed can greatly influence the activities that need this
software to be accomplished, such as the functions provided or               Sustainability                      Sustainability
how the IT infrastructure is used.
    However, while sustainability is a standardized practice in a
number of engineering disciplines, efforts in software
engineering are recent and still immature [14], and the way to                                    Software
achieve sustainable software is mainly by improving its power                                 Environmental
consumption [2]. However, this is a very restrictive                                           Sustainability
interpretation of what software sustainability is.                                               (Software
    Sustainable software is a “software whose direct and                                       Greenability)
indirect negative impacts on economy, society, human beings
and the environment that result from the development,
deployment and usage of the software are minimal and/or have
a positive effect on sustainable development” [5].
    This idea can be extended to cover the whole software                   Fig. 1.   Greenability as environmental sustainability
development process. Sustainable Software Engineering can
thus be referred as “the art of defining and developing software        Furthermore, according to [1], there are three
products in such a way that the negative and positive impacts        environmental impact levels of ICTs:
on sustainability that result and/or are expected to result from         1st order: direct environmental effects of production
the software product over its whole lifecycle are continuously               and use of ICTs;
assessed, documented, and optimized” [4].                                2nd order: indirect effects of using the system
    The UN identifies three dimensions for sustainable                       (resource and energy conservation owing to
development – social sustainability, economical sustainability               optimization or substitution of product materials);
and environmental sustainability [17]. We relate them to                 3rd order: indirect, long term, effects of using the
software as follows:                                                         system (lifestyle changes that may impact on the
     Social sustainability is related to software use (by                   environment).
         whom, how and under what circumstances software                We believe that, during development, the 1st level impact
         may be used);                                               can be taken into account more easily because it is related to
the direct effects of the software. The other levels will depend                                                                                         This international standard defines three quality models.
on how the software will be used, environmental aspects, and                                                                                         Two of them, the product quality model and the quality in use
other external factors out of the developer’s control. Therefore,                                                                                    model, are related to the product, while the third is related to
our work focus on the 1st level impacts, which will to some                                                                                          the quality of data. Our work is focused on the first two.
extent have an influence on the second level (figure 2).
 Dimensions for sustainable development (UN, 1987)




                                                            Social Sustainability




                                                         Economic sustainability




                                                     Environmental sustainability



                                                                                          1st level          2nd level          3rd level
                                                                                          Impact              impact            impact

                                                                                    Environmental impact levels of ICTs (Berkhout and Herin, 2001)

                                                            Fig. 2.           TIC impact levels and the greenability

                                                                                                                                                             Fig. 4.   Targets of quality model [10]
                                                              IV. SOFTWARE QUALITY AND GREENABILITY
    When a software product is developed it is necessary to                                                                                              The software product quality model is composed of eight
specify the requirements that the product should satisfy.                                                                                            characteristics, which are further subdivided into sub-
Software requirements can be classified into functional and                                                                                          characteristics that can be measured internally or externally.
non-functional requirements.                                                                                                                             As is stated in the standard, “the product quality model is
    The former should define the fundamental actions that must                                                                                       useful for specifying requirements, establishing measures, and
take place in the software in accepting and processing the                                                                                           performing quality evaluations” [10]. The quality
inputs and in processing and generating the outputs [8]. The                                                                                         characteristics defined can be used as a checklist in order to
functional requirements are therefore related to the “What” of a                                                                                     ensure a comprehensive treatment of quality requirements, thus
software product.                                                                                                                                    providing a basis that can be used to estimate the consequent
    Non-functional requirements can be seen as requirements                                                                                          effort and activities that will be needed during systems
that constrain or set some quality attributes upon functionalities                                                                                   development. The characteristics in the product quality model
[7]. This means that non-functional quality requirements can be                                                                                      are intended to be used as a set when specifying or evaluating
seen as the “How” of a software product.                                                                                                             software product quality”.
    Bearing in mind that software greenability is a means to                                                                                             The system quality in use model is composed of five
improve a software product, we believe that it must be part of                                                                                       characteristics, which are further subdivided into sub-
quality and, therefore, it is related to non-functional                                                                                              characteristics that can be measured when a product is used in a
requirements. The first step should therefore be to include                                                                                          realistic context. These characteristics are thus a starting point
greenability in software quality.                                                                                                                    for requirements, and can be used to measure the impact of the
    According to ISO/IEC 25010 (figure 3), process quality                                                                                           quality of the system in use and maintenance.
influences product quality, which in turn influences quality in                                                                                          The software product quality characteristics can be used to
use. On the other hand, quality in use depends on the software                                                                                       specify and evaluate detailed characteristics of the software
product, which depends on process quality.                                                                                                           product that are prerequisites for achieving desired levels of
                                                                                                                                                     quality in use.

                                                                                                                                                     A. Software Product Greenability
                                                                                                                                                         In [3], we have proposed the inclusion of sustainability in
                                                                                                                                                     the software product model of the ISO/IEC 25010 standard
                                                                                                                                                     [10]. However, naming the characteristic “sustainability” was
                                                                                                                                                     not ideal because, as explained in section III, greenability deals
                                                            Fig. 3.           Software quality life cycle [10]                                       with the technical aspects of the sustainability (see figure 1).
                                                                                                                                                     Furthermore, the proposal did not consider capacity
    The quality of a system is defined as the degree to which                                                                                        optimization as part of this greenability. We therefore refine
the system satisfies the stated and implied needs of its various                                                                                     that proposal as follows:
stakeholders, and thus provides value. These stated and implied                                                                                          The proposal includes four sub-characteristics for the
needs are represented in the SQuaRE series of standards in                                                                                           product greenability characteristic (figure 5):
various models (figure 4).
       Energy efficiency. Degree of effectiveness and                   Note that this is not a linear process, but an iterative one, as
        efficiency with which a software product consumes            the completion of one action may lead to the review of the
        energy when performing its functions.                        previous ones.
       Resource optimization. Degree to which the resources
        expended by a software product, when performing its          A. Working with the sub-characteristics
        functions, are used in an optimal manner. As in the
        standard, the authors consider that resources can                We identified the sub-characteristics in two steps. First, we
        include: other software products, the software and           studied the model characteristics in order to determine which
        hardware configuration of the system, and materials          existing characteristics would affect greenability. Secondly, we
        (such as print paper, storage media).                        considered adding new sub-characteristics not derived from the
       Capacity optimization. Degree to which the maximum           previous step. We have done this by using the definition of the
        limits of a product or system parameter meet                 characteristics provided in the standard trying to determine its
        requirements in an optimal manner, allocating only           influence on the greenability in use. We have consequently
                                                                     obtained the following sub-characteristics:
        those which are necessary.
       Perdurability. Degree to which a software product can             Efficiency Optimization. Optimization of resources
        be used over a long period, being, therefore, easy to                expended in relation to the accuracy and completeness
                                                                             with which users achieve goals. Relevant resources can
        modify, adapt and reuse.
                                                                             include time consumption, software resources, etc.
    The next step in the process of integrating greenability into         User’s environmental perception. Degree to which
the software quality should be to include it in the quality in use           users are satisfied with their perception of the
model presented in ISO/IEC 25010.                                            consequences that the use of software will have on the
    Therefore, software product greenability can be defined as:              environment.
Degree to which a product lasts over time, optimizing the                 Minimization of environmental effects. Degree to
parameters, the amounts of energy and the resources used.                    which a product or system reduces the effects on the
                                                                             environment in the intended contexts of use.
                                                                     B. Defining new characteristics
                                                                        New characteristics are formally defined and refined,
                                                                     considering the sub-characteristics identified above. In this
                                                                     case, only one new characteristic has been identified:

                                                                        Greenability in use. Degree to which a software product
        Fig. 5.   Software product greenability
                                                                     can be used by optimizing its efficiency, by minimizing
                                                                     environmental effects and by improving the environmental user
    Greenability, however, is not only relevant to the software
                                                                     perception.
product. As shown in figure 3, software product quality
influences quality in use and quality in use, depends on the
                                                                        Because of the two first steps, we have obtained the new
software product quality. So, it is also necessary to study the
                                                                     characteristic and sub-characteristics shown in figure 6.
inclusion for the greenability in the quality in use model.
   V. ADDING GREENABILITY TO THE QUALITY IN USE MODEL
                                                                                                Greenability in
    The process of including a new characteristic in the                                             use
standard requires a set of actions:
    A. Working        with     the   sub-characteristics:    The
        identification and definition of the sub-characteristics                                    User's            Minimization of
                                                                            Efficiency
        is carried out.                                                                         Environmental         environmental
                                                                           Optimization
                                                                                                  perception              effects
    B. Defining the new characteristics: new characteristics
        formally defined/refined, considering the sub-                       Fig. 6.    Quality in use Greenability
        characteristics.
    C. Reviewing quality in use characteristics: the model is
        reviewed in order to check whether it is affected by the     C. Reviewing quality in use characteristics
        inclusion of the new characteristic.
                                                                         It is now necessary to review the definitions of the other
    D. Redefining quality in use: the quality in use definition
                                                                     quality in use characteristics that could be affected by the
        is reviewed in order to include the new characteristic in
                                                                     inclusion of the new one. The following definitions have
        it.
                                                                     therefore been redefined:
                                                                         Context coverage. Degree to which a product or system
                                                                     can be used with effectiveness, efficiency, freedom from risk,
greenability and satisfaction in both specified contexts of use                                                             this option and it is necessary to generate an expense
and in contexts beyond those initially explicitly identified                                                                report for each department. This implies that in order
    Context completeness. Degree to which a product or                                                                      for the user to perform this task, s/he must use more
system can be used with effectiveness, efficiency, freedom from                                                             resources.
risk, greenability and satisfaction in all the specified contexts                                                          Positive. The application provides accurate information
of use                                                                                                                      about the enterprise’s light consumption expenditure.
    Flexibility. Degree to which a product or system can be
used with effectiveness, efficiency, freedom from risk,                                                               Second level impact
greenability and satisfaction in contexts beyond those initially                                                       Negative: The data recovery processes are slower
specified in the requirements                                                                                             because data are scattered in several reports.
D. Redefining quality in use                                                                                           Positive: Reports are stored in digital format,
                                                                                                                          signifying that reports on paper are not necessary (e-
    Finally, the last step is to review the quality in use
                                                                                                                          materialization).
definition in such a manner that it takes into account the new
added characteristic.
                                                                                                                       Third level impact
   Quality in use is the degree to which a product or system                                                            A growth in IT-related services supposes a structural
can be used by specific users to meet their needs in order to                                                              change and a new way of using resources at company
achieve specific goals with efficiency, freedom from risk,                                                                 level.
greenability and satisfaction in specific contexts of use.                                                             As will be noted, the development of a green software
                                                                                                                   product impacts directly on the first level but also influences
                                                                                                                   the second and may even reach the third.
   The result of this process is the new quality in use model
shown in figure 7.                                                                                                     Having defined the product quality (PQ) and the quality in
                                                                                                                   use (QiU) models, the next step is to discover how to link them.

                                             Quality in use                                                               VII. LINKING PRODUCT QUALITY AND QUALITY IN USE
                                                                                                                       By incorporating greenability to the software product
                                                      Freedom from             Context
  Effectiveness       Efficiency    Satisfaction
                                                           risk               coverage
                                                                                               Greenability        quality and to the quality in use models of the ISO/IEC 25010
                                                                                                                   standard, we have created the foundations for assessing and
                                                              Economic risk      Context           Efficiency
                                        Usefulness
                                                                mitigation     completeness       Optimization     achieving greenability in software. Therefore, we must
                                                                                                                   consider the greenability of both the software product itself and
                                                               Health and                             User's
                                         Pleasure              safety risk       Flexibility      Environmental    of the software in use. However, as discussed in [12], the
                                                               migitation                           perception
                                                                                                                   ISO/IEC 25010 standard (figure 3) states that there is a
                                                                                                 Minimization of
                                         Comfort
                                                          Environmental
                                                          risk mitigation
                                                                                                 environmental     relationship between the product quality and the quality in use,
                                                                                                     effects
                                                                                                                   but it does not say how to make this connection.
                                           Trust
                                                                                                                       In fact, in the software quality field, most efforts have been
                                                                                                                   made as regards product quality and it is difficult to find works
                                                                                                                   on quality in use. The emphasis has principally been placed on
            Fig. 7.           Complete Quality in use model                                                        assessing the quality of software products because they are
 VI. STUDYING THE IMPACT LEVELS OF ICTS WITH REGARD TO                                                             more precisely defined in literature, can be more easily
                                                                                                                   identified (and are thus easier to evaluate), and also because of
                    GREENABILITY.
                                                                                                                   the “dependency” of QiU on product quality.
    As previously indicated our work is focused on minimizing                                                          This relationship between the product and the quality in-use
the first level impact of software, although it may also affect                                                    of the software product would appear to be based on the
the second and third levels (see Section II and figure 2). It must                                                 assumption than having a product with high quality will
be noted that effects at the third level are indirect and more                                                     guarantee a product with a high QiU. However, this is not
difficult to consider during the software development.                                                             necessarily true in many situations. The fact that a product has
    In this section, we wish to provide an example of the                                                          the best quality does not necessarily guarantee that the product
relationship between a greenability in use sub-characteristics                                                     will fulfill the user’s needs in its context of use, especially
and the ICT impact levels.                                                                                         when the overall quality (as perceived by the end-user) is
A. Sub-characteristic: Efficiency Optimization                                                                     composed of many conflicting factors. A Ferrari is not the best
                                                                                                                   car to go to work in if you are a social worker in a deprived
    Domain application: Application with which to generate
                                                                                                                   suburb in the outskirts of New York.
reports
                                                                                                                       Our focus on the quality assessment is exactly the opposite:
    First level impact
                                                                                                                   concentrating on the quality in use as the driving factor to
     Negative. The user wishes to obtain an annual report of                                                      consider when designing a software product, or when selecting
         the company’s total expenditure grouped by                                                                the product that best fits a user’s needs. There are several
         department. However, the application does not provide                                                     reasons why we feel the need to challenge the traditional
approach used to evaluate the quality of a software product.             The trained network can additionally be used to make
Firstly, not all the product quality characteristics of a software   inferences about the values of the variables in the network.
product have the same influence on its QiU. This, together with      Bayesian propagation algorithms use probability theory to
the false assumption regarding the direct dependency between         make such inferences, using the information available (usually
the product quality and the QiU mentioned above, frequently          a set of observations or evidences). Such inferences can be
forces some of the product aspects (which are non-critical for       abductive, and if we wish to determine the product quality sub-
the end user) to be over-specified for the sake of ensuring a        characteristics we must consider guaranteeing a required level
certain level of QiU. This unnecessarily increases costs,            of QiU (the cause that best explains the evidence); or
development efforts and, resource usage, without a direct effect     predictive, if we wish to determine the probability of obtaining
on the advantages that the end-user perceives.                       certain results in the future. All the variables in the network can
    We therefore focus on the QiU, and we analyze the                therefore be used as either a source of information or an object
relationship between the product quality and the QiU of a            of prediction, depending on the evidence available and on the
software product in the opposite direction to that which has         goal of the diagnostic process.
traditionally occurred. This means applying a ‘backward’
                                                                     B. Modelling the Bayesian Network
analysis (we start with a given level of QiU and we wish to
determine the minimum level of product quality that will                 In this point, we show how to prepare a Bayesian Network
guarantee such a desired quality in use), as opposed to the          in order to link product quality and quality in use. It should be
traditional “forward” analysis (by which we attempt to               noted that this is a general example as regards how to use this
determine the level of QiU of a software product, given a            approach, and that it must be tailored to specific contexts.
measured level of product quality). In order to obtain a (good)          Our working hypothesis is that the PQ has an influence on
level of quality in use, the goal would in fact be to be able to     the QiU and that this influence can be modeled and studied by
select the reduced set of really relevant product quality sub-       using a BN, in such a way that we can conduct a backward
characteristics that ensure the required level of quality.           analysis of the required level of PQ to ensure a given level of
Focusing solely on them will avoid superfluous costs or              QiU. We have successfully applied this approach previously
irrelevant features which may unnecessarily increase the final       [12], and other authors have also used the BN for the
impact on the environment and also the price of the product.         assessment of software quality [13].
                                                                         In order to model the Bayesian Network, it is first necessary
A. Use of Bayesian Networks                                          to identify the relationships between the PQ characteristics and
    In order to determine the relationship between the quality in    the Quality in use. The relationship between PQ and QiU can
use (QiU) and the product quality (PQ), we need statistical          be modeled by determining the characteristics of the former
methods and tools that can carry out backward analyses.              that affect the characteristics of the latter. As our present focus
However, the commonly used linear regression (LR) or                 is on greenability, we shall focus the process solely on the
principal component analysis (PCA) are not useful here               greenability in use characteristic (although the same process
because they conduct forward analysis and need initial               can be applied to the other QiU characteristics).
numerical information at data level, which is in many cases              It is then necessary to identify the PQ characteristics that
difficult to obtain. However, Bayesian Belief Networks (or,          have a significant influence on the greenability in use sub-
simply, Bayesian Networks, BNs) can be very useful. A BN is          characteristics. This is done by using the definitions provided
a directed acyclic graph, whose nodes are the uncertain              in the standard along with those defined in this paper for the
variables and whose edges are the casual or influential links        new sub-characteristics related to greenability. This process is
between variables. A Conditional Probability Table (CPT) is          made by a set of experts in quality. Firstly, they established the
associated with each node in order to denote such causal             relationship among the characteristics independently. Next,
influence [11].                                                      they made a meeting to interchange opinions and agree on
    To define a BN it is necessary to: (1) provide the set of        values. Table 1 shows these relationships by employing a
random variables (nodes) and the set of relationships (causal        matrix, in which the “X” indicates a relationship between these
influence) among those variables; (2) build a graph structure        characteristics.
with them; and (3) define conditional probability tables                 The next step is to determine the relationship between the
associated with the nodes. These tables determine the weight         sub-characteristics of the QP characteristics and the sub-
(strength) of the links of the graph and are used to calculate the   characteristics of the greenability (using the information in
probability distribution of each node in the BN.                     Table I as a starting point). This step is necessary because if it
    The use of BNs thus allows us to model the different             were not taken we would be assuming that, for example, all the
relationships among the characteristics and sub-characteristics      reliability sub-characteristics have the same influence on the
of the product quality and the QiU, in addition to the degree of     efficiency optimization and this might not be true (it could
dependence or influence among them. This signifies that it is        perhaps be more closely related to fault tolerance than to
necessary to define the structure and conditional probability        maturity).
tables in which the uncertainty relationships among the BN               We have chosen only one of the greenability in use sub-
nodes (characteristics) that we wish to build are reflected. Once    characteristics in order to continue with the example. More
the network has been defined, it is necessary to train it using a    specifically, and based on the results shown in Table I, we
set of controlled experiments, so that it “learns”.                  decided to work with the environmental user perception
because it is the one with most interactions and because it                                           models and the construction rules for Bayesian Networks.
appears to be the closest to the user.                                                                figure 8 shows the results.
                                                                                                          As can be observed, there is a node for each characteristic
                                                        Greenability in Use                           and sub-characteristic, and arcs represent the relationships
                                                                                                      between the nodes (there is one arc for each X in Table II and
                                          Efficiency
                                                             User’s         Minimization of           another with which to connect a PQ characteristic with its sub-
                                                         environmental      environmental
                                         optimization
                                                          perception.           effects.
                                                                                                      characteristics).

                        Functional
                                               X               X                                                                                User’s                                               User’s
                        Suitability
                                                                                                                                            environmental                                        environmental
                       Performance                                                                                                           perception.                                          perception
                                               X               X                    X
                        Efficiency
                       Compatibility           X               X                    X                                      Adaptability          X                                 Maturity           X
   Product quality




                          Usability            X               X                                         Portability       Installability                                        Availability
                                                                                                                                                              Reliability
                                                                                                                          Replaceability         X                             Fault tolerance        X
                         Reliability                           X
                                                                                                                          Co-existence                                         Recoverability         X
                          Security                                                                      Compatibility
                                                                                                                         Interoperability        X                               Modularity           X
                       Maintainability         X               X                    X                                    Appropriateness
                                                                                                                                                 X                               Reusability          X
                                                                                                                          recognisability
                         Portability                           X                    X
                                                                                                                           Operability                                          Analysability
                                                                                                                                                            Maintainability
                        Greenability           X               X                    X                                       User error
                                                                                                                                                                                 Modifiability        X
                                                                                                                            protection
                                               6                8                    5                    Usability
                                                                                                                          User interface
                                                                                                                                                                                 Testeability
                                                                                                                           aesthetics
                                                                                                                                                                                  Energy
                                                                                                                           Learnability          X                                                    X
                                                                                                                                                                                 efficiency
         TABLE I. RELATIONSHIPS BETWEEN CHARACTERISTICS OF SOFTWARE                                                        Accessibility                    Greenability         Resource
                                                                                                                                                                                                      X
            PRODUCT QUALITY AND GREENABILITY IN USE                                                                                                                             optimization
                                                                                                                          Functional
                                                                                                                                                                                Perdurability         X
                                                                                                                         Completeness
    We have therefore identified the relationships shown in                                              Functional         Functional
Table II. The “X” again indicates a relationship between these                                           Suitability       Correctness                       Performance
                                                                                                                                                                               Time- behaviour        X
                                                                                                                                                              Efficiency
characteristics.                                                                                                           Functional
                                                                                                                                                                                  Resource
                                                                                                                                                                                  utilization
                                                                                                                                                                                                      X
                                                                                                                                                 X
                                                                                                                         Appropriateness
The level of influence (indicated by the relationships in Table I                                                                                                                 Capacity            X

and Table II) may vary between different application domains.
The relationships shown in both tables might then need to be
                                                                                                             TABLE II.          RELATIONSHIPS BETWEEN PRODUCT QUALITY SUB-
tailored to other domains, but the method indicated in this                                                             CHARACTERISTICS  AND   GREENABILITY IN  USE   SUB-
paper is still valid.                                                                                                   CHARACTERISTIC
    It is necessary to use the information provided in Table II to
model the Bayesian Network that reflects the relationships
identified, taking into account the hierarchical structure of the



                                                                    Resource
                                                                    utilisation
                                                   Time behaviour                 Capacity            Approp.
                                                                                                                                   Learnability
                                                                                                      Recogn.

                                                                 Performance
                                                                                                                                                            Recoverability
                     Adaptability         Replaceability          Efficiency                                           Usability
                                                                                                                                               Maturity                     Fault-tolerance
                                                                                         Appropriateness
                                 Portability
                                                                                                                                                              Reliability
                                                              Interoperability
                                                                                                                                                                                Energy
                                 Analysability                                                                                                                                 efficiency
                                                                                                                                                             Resource
                      Modularity            Modifiability                                                                                                                                     Perdurability
                                                                                                                                                            optimisation


                               Maintainability                                                                                                                                Greenability
                                                                                               User’s environmental
                                                                                                    perception

                                                                              Fig. 8.        BN for environmental user perception
Although this BN reflects the relationships identified, it                                     among the PQ characteristics that are conceptually related. The
produces a very high number of entries on the final node (that                                 BN obtained (figure 9) drastically reduces the number of
of the environmental user perception). The definition of the                                   entries in the probability tables. The BN obtained could easily
probability tables is therefore very laborious and cumbersome.                                 be used to create three individual BNs (one for each of the sub-
One practice that is commonly used to simplify the                                             trees that comprise the BN), work independently with them and
relationships in BNs is based on the introduction of synthetic                                 then combine them to form the complete Bayesian Network.
nodes. In this case, we decided to introduce a synthetic node


                                                                                           Approp.
                                                                                                            Learnability
                                                                                           Recogn.
                                Adaptability         Replaceability
                                                                        Recoverability
                                                                                                   UsabilityUEP
                                                                Maturity         Fault-tolerance                           Resource
                                          PortabilityUEP                                                                   utilisation
                          Analysability                                                                      Time behaviour              Capacity
                                                                        ReliabilityUEP
                  Modularity        Modifiability
                                                                                                                       Performance
                                                                                                                       EfficiencyUEP
                     MaintainabilityUEP         Interoperability                                                                   Energy            Capacity
                                                                                UsageUEP                                         efficiency         Optimization
                                                                                                                       Resource
                                                                                                        Resource      optimisation                    Perdurability
                                                                                                       AspectsUEP
                       Functional
                                                    Functionality
                     Appropriateness                    UEP                                                                     GreenabilityUEP
                                                                               User’s environmental
                                                                                    perception



                                                                    Fig. 9.      The BN from Fig 7, with synthetic nodes



                                                                                               calculated for the product; this will preferably be automatic,
C. Adapt the Bayesian Network
                                                                                               though that is not always possible. These measurements will be
    In the previous point, we have shown an example of how to                                  the ones which will serve as input to the external nodes of the
use Bayesian Networks to determine the influence of the                                        network; their values should be changed into valid inputs to the
greenability in use on the product quality. However, it is                                     network. The values will be propagated though the BN, via the
necessary to define the rest of BNs and adapt them to the                                      nodes and by applying the probability tables, until the lower
specific context to which it is to be applied.                                                 node is reached (the one about quality in use, or some of its
    In order to carry out this adaptation, we must ensure that all                             characteristics)
the characteristics of the standard are applicable to this context
and that no further characteristics are going to be needed. In
addition, it should be determined whether to include new                                       D. Use of the Bayesian Networks
characteristics of the context by studying the state of the art,
looking for other proposals, consulting experts, etc.                                              Once the BN’s have been adapted to the specific context,
    After these actions have been taken, we will be able to                                    they are ready to be used. These BN’s can be used to carry out
build the structure of the Bayesian network.                                                   a forward or backward analysis.
    The next step is to create the probability tables. The                                         In the forward analysis, we can determine the quality in use
influences of some given characteristics will obviously depend                                 of a product once it has been created. In order to do we should
on the domain. That means it is vital to create tables to reflect                              define measurements for the external nodes that make up the
the specific reality of a particular domain.                                                   input to the network.
    To do that, we must carry out experiments or surveys that                                      In the backward analysis, we can determine the minimum
allow us to obtain a series of data that serve as input to the                                 values of external quality that the product needs to reach a
network validation process. This is part of our future work in                                 desired level of quality in use. In that way, we can ascertain
order to finish the Bayesian network and use it for working on                                 what values (for the measurements defined for each
the greenability assessment of a software product.                                             characteristic) the product should have for the input nodes.
    The final step in being able to use this network will be the
definition of specific measurements for the software product
we wish to measure. These measurements should be able to be
            VIII. CONCLUSIONS AND FUTURE WORK                                   Sustainability, Resilience in 9th IFIP TC 9 International
    Greenability is a means to improve the software product                     Conference, HCC9 2010 and 1st IFIP TC 11 International
and should therefore be integrated into quality models, such as                 Conference, CIP 2010, Held as Part of WCC 2010. 2010.
the ISO/IEC25010 standard. By doing so, greenability can be                     pp.            248–259.           Available            from:
assessed and achieved during the software development                           http://dx.doi.org/10.1007/978-3-642-15479-9_24.
process, just like other software qualities.                          [6] Du, W.D., S.L. Pan, and M. Zuo, "How to Balance
    In this paper, we have proposed a extension of the quality                  Sustainability     and    Profitability   in     Technology
in use model of the ISO/IEC25010 standard, includes a new                       Organizations: An Ambidextrous Perspective.". IEEE
characteristic: greenability. This is composed of three sub-                    Transactions on engineering management. Vol. 60(2): pp.
characteristics: Efficiency Optimization, User’s environmental                  366-385 10.1109/TEM.2012.2206113, 2013
perception, and Minimization of environmental effects.                [7] Glinz, M., On non-functional requirements. "International
    Moreover, we consider that there is a direct influence                      Conference on Requirements Engineering": pp. 21-26,
between the product quality (which includes a greenability                      2007
characteristic) and the quality in use (which already integrates      [8] IEEE 830, IEEE Recommended Practice for Software
greenability). We have therefore proposed a Bayesian Network                    Requirements Specifications. . 1998
that shows the relationships between both. As a future work we        [9] ISO 26000 Guidance on Social Responsibility. 2010 Available
plan to work on this Bayesian Network, apply it to a specific                   from:      https://www.iso.org/obp/ui/#iso:std:iso:26000:ed-
domain and construct the probability tables in order to assess                  1:v1:en
the greenability level of a given software product. We also plan
                                                                      [10] ISO/IEC 25010, Systems and software engineering - Software
to use Bayesian Networks for the greenability evaluation by
                                                                                product Quality Requirements and Evaluation (SQuaRE) -
means of measures and indicators. This is therefore another of
                                                                                Software product quality and system quality in use models.
our future works.
                                                                                2010
    We also wish to continue with our work by studying the
                                                                      [11] Jensen, F.V., Bayesian Networks and Decisions Graphs.:
other aspects of sustainability, i.e., the economic and mainly
the social aspects to which we believe special attention should                 Springer-Verlag, 2001.
be paid in order to indicate and mitigate some labor situations       [12] Moraga, M.A., M.F. Bertoa, C. Morcillo, C. Calero, and A.
that currently occur in the software industry and that should be                Vallecillo Evaluating Quality-in-Use Using Bayesian
rejected immediately.                                                           Networks. in 12th ECOOP Workshop Quantitative
                                                                                Approaches on Object Oriented Software Engineering
                      ACKNOWLEDGMENT                                            (QAOOSE 2008). 2008.
         This work has been funded by the GEODAS-BC                   [13] Neil, M., P. Krause, and N.E. Fenton, Software Quality
project (Ministerio de Economía y Competitividad and Fondo                      Prediction     Using    Bayesian      Networks:     Software
Europeo de Desarrollo Regional FEDER, TIN2012-37493-                            Engineering with Computational Intelligence, Chapter 6,
C03-01).                                                                        Kluwer, 2003.
                                                                      [14] Penzenstadler, B., A. Raturi, D. Richardson, C. Calero, H.
                          REFERENCES                                            Femmer, and X. Franch Systematic Mapping Study on
[1] Berkhout, F. and J. Hertin, Impact of Information and                       Software Engineering for Sustainability (SE4S) in 18th Intl.
         Communication        Technologies      on     Environmetal             Conf on Evaluation and Assessment in Software
         Sustainability: speculations and evidence. 2001                        Engineering. 2014.
[2] Calero, C., M.F. Bertoa, and M.A. Moraga A Systematic             [15] Sroufe, R. and J. Sarkis, Strategic Sustainability: The State of
         Literature Review for Software Sustainability Measures in              theArt in Corporate Environmental Management Systems:
         GREENS 2013 : Second International Workshop on Green                   Sheffield, UK: Greenleef Publishing, 2007.
         and Sustainable Software. 2013. pp. 46-53.                   [16] SWEBOK, "SWEBOK V3.0. Guide to the Software Engineering
[3] Calero, C., M.A. Moraga, and M.F. Bertoa Towards a software                 Body of Knowledge". Bourque, P. and Fairley, R.E. (eds.),
         product sustainability model in Workshop on Sustainable                NJ. IEEE Computer Society. . Vol., 2014
         Software for Science: Practice and Experiences 2013.         [17] United Nations World Commission on Environment and
         arXiv:1309.1640 2013.                                                  Development, Report of the World Commission on
[4] Dick, M. and S. Naumann Enhancing software engineering                      Environment and Development: Our Common Future. In
         processes towards sustainable software product design in               United Nations Conference on Environment and
         EnviroInfo 2010, Integration of Environmental Information              Development,. 1987
         in Europe, Proceedings of the 24th International
         Conference on Informatics for Environmental Protection.
         2010. pp. 706–715.
[5] Dick, M., S. Naumann, and N. Kuhn A Model and Selected
         Instances of Green and Sustainable Software. What Kind of
         Information Society? Governance, Virtuality, Surveillance,