=Paper= {{Paper |id=Vol-2541/paper8 |storemode=property |title=A Utility Model for Designing Environmentally Sustainable Software |pdfUrl=https://ceur-ws.org/Vol-2541/paper8.pdf |volume=Vol-2541 |authors=Sedef Akinli Kocak,Gulfem Isiklar Alptekin |dblpUrl=https://dblp.org/rec/conf/re/KocakA19 }} ==A Utility Model for Designing Environmentally Sustainable Software== https://ceur-ws.org/Vol-2541/paper8.pdf
      A Utility Model for Designing Environmentally
                  Sustainable Software
                               Sedef Akinli Kocak                                             Gulfem Isiklar Alptekin
                   Vector Institute for Artificial Intelligence                         Computer Engineering Department
                                Toronto, Canada                                              Galatasaray University
                        sedef.kocak@vectorinstitute.ai                                          Istanbul, Turkey
                                                                                               gisiklar@gsu.edu.tr



   Abstract—Software systems play an increasingly central role               suitable approaches to design software-intensive systems that
in sustainability, since many aspects of our lives and society               enable sustainability goals.
as a whole are mediated through software systems. Hence, the                    In software engineering, sustainability is mostly related to
design of these systems requires attention from sustainability
perspective. Recent interest in sustainability as a requirement has          technical impact (e.g., [3]), economic interests (e.g., [30],
given rise to broader definitions in terms of technical, economic,           and recently environmental concerns (e.g. [27], [23]). Recent
environmental and individual perspectives. In this sense, there is a         interest in sustainability as a requirement has given rise to
need for additional quality requirements to include sustainability           broader definitions in terms of technical, economic and envi-
concerns, as well as to examine the market equilibrium where                 ronmental perspectives [35]. In this sense, sustainability may
stakeholders and customers meet. In Most cases, software de-
velopment companies do not consider the explicit representation              lead to have additional quality requirements. New instruments
of sustainability requirements such as resource utilization, or              (e.g., [19], [24], [22], [2]) have designed framing the design
customers concerns on sustainability. In this work, we focus on              concerns around the four sustainability dimensions- technical,
the relationship between customers, who require energy efficient             economic, social and environmental sustainability. We believe
software products, and software development companies, who                   that decision-oriented models are one of the significant ways
offer these software products. The proposed introductory model
aims to determine the demand and payoff functions by satisfying              of examining the sustainability concerns of stakeholders.
both sides with the quality level of the product and its price.                 In this paper, we present an introductory model which is part
   Index Terms—Environmental Sustainability, Utility Model,                  of a continuous work on designing decision-oriented model
Software Quality, Market Equilibrium, Green Software.                        focusing on relevant quality requirements and contributing to
                                                                             the sustainability dimensions of software-intensive systems.
                         I. I NTRODUCTION                                    In the proposed model, we assume that the software product
                                                                             customers have two main decision variables, when buying
   Sustainability, the “capacity to endure” [1] is a key issue               a software product: Price and quality. It is obvious that
facing society on multiple levels, from individuals and social               the buyers may have various other concerns when making
groups to large socio-technical systems and the planet earth.                the decision of buying, but for the sake of constructing a
As a concept, it concerns a specific system and has to be                    manageable demand function, we only select the most two im-
considered along multiple dimensions such as environmental,                  portant ones. The quality variable comprises all non-functional
economic, social, technological and individual [29]. Humanity                requirements of the offered software. As the price of the
faces many complex challenges that present risks to soci-                    product increases, the customer‘s willingness to buy decreases,
eties, including the rise of CO2 emission, biodiversity loss,                while the quality of the product increases, the customer‘s
cybersecurity, inequality and unfairness. Environmental risks                willingness to buy increases. Accordingly, we introduce a
have grown in prominence in recent years. It is fundamentally                linear demand function for software development companies.
a systemic property, and any effort to address sustainability                Moreover, we introduce an acceptance probability variable for
involves integrating concepts, principles, and methods from a                customers, that is maximized when the price of the product
range of disciplines.                                                        decreases, while it‘s quality increases. We propose that this
   In the context of software engineering, sustainability is often           approach may be suitable in the context of software quality
defined as to “preserve the function of a system over an                     requirements, since they are always subject to negotiation
extended period of time” [25]. As many aspects of our lives                  between customers/users and development company. In our
and society as a whole are mediated through software systems,                model, the quality requirements involve sustainability con-
sustainability is becoming a challenge for requirements and                  cerns. The proposed introductory model is based on interactive
software professionals [5]. Although requirements engineering                multi-criteria decision making theory [11], [37] which focuses
(e.g., [23] [34]) and software architecture researchers (e.g.,               on the structure of multi-criteria or multi-attribute alternatives,
[4] [36]) have been devoting effort to define the basis of the               usually in the presence of conflicting criteria. Therefore, the
notion of sustainability-aware software, there are still a lack of           strategic interaction of customer and development company



Copyright ©2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
as well as the interdependencies of quality attributes and          Model to characterize the contribution of quality requirements
sustainability requirements are essential. The rest of this paper   to software sustainability. All these studies point out that the
is structured as follows: Section 2 gives a more detailed           product, as well as the quality in use needs to be considered
description of what motivates this study and introduces the cor-    when assessing the sustainability of the software. However,
responding background. Section 3 describes the basic elements       knowledge about designing and configuring software in an
of the introductory model. We present a green software product      environmental manner is not sufficient today [14]. Moreover,
scheme in Section 4, and we conclude the paper in Section 5         assessment based on the notion of sustainability as a software
with a summary of the study and continuing directions of the        quality property is still emerging and poorly understood [9].
research.                                                              Companies are increasingly aware of many potential bene-
                                                                    fits provided by customer-oriented business strategies. Besides,
           II. R ELATED W ORK AND M OTIVATION                       environmental requirements are becoming indispensable re-
   In this section, we have categorized the works related to        garding environmentally friendly product development. In our
our research topic under two categories: quality models in          literature review, we examined that there is still a gap on ex-
software engineering and software engineering and sustainabil-      plicit representation of sustainability requirements (e.g energy
ity. Researchers have been studying sustainability in software      efficiency and resource efficiency) and stakeholders‘ concerns
engineering from different perspectives such as hardware            on the environmental sustainability of software products. In
energy efficiency in terms of power consumption; optimization       most cases, software development companies do not consider
of algorithms and / or software architecture; effective and         the explicit representation of sustainability requirements such
efficient design and usage of software intensive system, and        as resource utilization, or customer‘s concerns on sustainabil-
models to support decision making including sustainability.         ity.
   There are rising attention and increasing research works in         In this work, we focus on the relationship between cus-
the field of software engineering and sustainability focusing on    tomers, who require energy efficient software products, and
specific software sustainability aspects. For example, Hindle       software development companies, who offer these software
[15] related the direct impact of software change on energy         products. The proposed introductory model aims to determine
consumption; Procaccianti et al. [31] related software code         the demand and payoff functions by satisfying both sides with
metrics and software architecture for assessing the impact of       the quality level of the product and its price.
best practices for achieving software energy efficiency; Cai et
al. [7] investigated the notion of design rules to detect flows            III. T HE P ROPOSED I NTRODUCTORY M ODEL
at the software architecture level over extended periods; Lago
et al. [24], [23] introduced a decision map can be used to             The goal of this introductory model is to find the equilibrium
frame the concerns of each of the sustainability dimensions to      to meet the stakeholders needs and required quality attributes,
support decision making.                                            while taking into account the environmental sustainability of
   The recent quality model/standards are introduced by ISO         the software product. This model is based on the theory
(ISO/9126 and ISO/IEC 25010) [16]. In these standards, the          of interactive decision-making model. It provides general
sustainability issues are not considered as a separate criteria.    mathematical techniques for analyzing situations in which
Several sustainability related issues may be the consumption        two or more individuals make decisions that will influence
of energy, memory requirements, efforts (in terms of energy)        one another‘s welfare [6]. These situations are referred to
required during its development, etc. In the software engineer-     interactive decision processes. It consists of a collection of
ing literature, the first quality model for green and sustainable   models. A model is an abstraction that we use to understand
software was developed by Kern et al. [17]. The model con-          our observations and experiences [28]. In this section, the
siders the product quality factors, however, the quality aspects    concepts and the elements of the proposed model are briefly
standardized in ISO /IEC 25000 are also related to the quality      presented.
of software in use. Calero and Bertoa [8] considered sustain-          The decision-making entities are considered as the individ-
ability as a new factor that affects software product and process   uals of the interactive decision process. In this model, we
quality. They presented a new quality model (ISO 2510+S)            assume that the individuals are software development company
based on ISO/25010. In their model, they differentiated the         and a customer and they are rational and intelligent [6]. The
quality factors concerning the sustainability impact and they       strategy of the one individual is a complete contingent plan
described related and unrelated sub-characteristics. A cross-       of action for whatever situation might arise. The payoffs for
disciplinary initiative to create a common ground and develop       an individual should capture everything in the outcomes that
a focal point of reference in software and sustainability is        the individual cares. In many cases, the payoff function is
proposed by Becker et al. [5]. They discuss different inter-        represented by a utility function, which assigns a quantifiable
pretations of sustainability. Akinli Kocak et al. [19] analyzed     value to each possible outcome, with higher utilities represent-
the correlation between the standardized quality attributes and     ing the more desirable outcomes. In an interactive decision-
environmental sustainability attributes to identify their effects   making model, it is assumed that each individual knows which
on environmental sustainability. Recently, Condori-Fernandez        strategy s/he prefers or which strategies are equally desirable
and Lago [10] developed a Software Sustainability-Quality           for her/him.
                                   TABLE I                                            and development and the design of the product. This fixed cost
                          N OTATIONS FOR THE M ODEL                                   is assumed to be independent from the quality attributes‘ level.
                                                                                      Total product quality is represented by the quality attributes
 Symbol     Description
                                                                                      (Ai ) and related importance weights (wi ). The product quality
    Ψ       Demand                                                                    is calculated by multiplying the quality attributes level with
  b1 , b2   Price and quality sensitivities of the demand, respectively               corresponding importance weight:
    a       Fixed demand                                                                                           X
                                                                                                              Q=      wiAi ,                       (2)
    d       Software product price, when Q=0, i.e. min product price when Q=0

    P       Software product price                                                      Then, the companys demand function is:
    Q       Software product quality
                                                                                                     Ψ(P, Q) = a − b1 P + b2 Q(Ai ),                 (3)
    U       Customers utility function

    Π       Software development companys utility function from product sells         with
                                                                                                             P = d + eQ(Ai ),                        (4)
   DC       Software product development cost

   FC       Software product development, fixed cost                                    where d>0 and e>0.
                                                                                        When we substitute the price with quality attributes, then
     e      Software product quality sensitivity of price
                                                                                      the demand is:
   wi       Level of importance weight of each software quality attribute

   Ai       Quality attributes (i = 1, . . . , n)                                               Ψ(P, Q) = (a − b1 d) + (b2 − b1 e)Q(Ai ),            (5)
    µ       Utility sensitivity of the user
                                                                                      and accordingly
    C       Constant

                                                                                      Π(P, Q) = [(a − b1 d) + (b2 − b1 e)Q(Ai )]P − F C + eQ(Ai )P,
A. The Basic Model and its Components                                                                                                                (6)
                                                                                         The Customer
   We consider a differentiated market in which customers                                Let us now describe the customers utility. A customers
differ in their willingness to pay for the environmental quality                      utility depends on the price and quality attributes levels of the
of the software product. Each customer has a reservation price                        software product s/he is using. In this model, the customer is
and preferences over the product‘s quality attributes. In such                        assumed to require maximizing the environmental quality of
a market, the software development company‘s objective is                             the software product at minimum expense. A customer accepts
both to determine the optimal price for its product and the                           an offer, if the price asked is reasonable and the quality level is
optimal environmental quality attributes‘ level with respect to                       satisfying. Hence, we can introduce an acceptance probability
customers‘ requirements. The software development industry                            A (U, P), where U is the utility of the customer and P is the
is generally concentrated. The up-front cost of developing                            associated price of the software. The acceptance probability
software products is prohibitively high. Presumably, product                          should be an increasing function of U for a fixed P, while
design is mainly achieved via R&D-related expenditures (fixed                         decreasing function in P for fixed U:
costs) with little to no increase in marginal cost. In our model,
the interacting individuals are software development compa-                                                                  µ   (
                                                                                                     A(U, P ) = 1 − e−1CU Q b2 P −b1 )               (7)
nies. They build a strategic interaction with their customers.
In the model, it is assumed that there are interdependencies                             The acceptance probability function can be differentiated
among quality attributes and environmental attributes. All the                        among customers through the above parameters. The objective
necessary notations are given in I.                                                   is to maximize the acceptance probability of each customer.
   The Software Development Company                                                   In our software product, the energy efficiency and resource
   Similar to the model presented at [12], the software de-                           efficiency are the quality attributes in which the companys
velopment company wants to maximize its own profit. The                               sustainability effort can be observed. Constant, C, which can
decision variables of the companys utility function are product                       be used to control the rate of feature perturbation, is set to 1
price (P ) and quality Q(Ai ). Q(Ai , i = 1, . . . , n) is assumed                    by default.
to be uniformly distributed on [0, 1]. We assume the existence
                                                                                              IV. A G REEN S OFTWARE P RODUCT S CHEME
of a normalized upper bound for quality, 1. The demand that
the company faces is represented with Ψ(P, Q). We follow a                               In this section, we introduce a green software scheme
common assumption and define a linear demand function:                                based on the characteristics of the environmental sustainability
                                                                                      requirements of the customers. A desired level of quality
                          Π = Ψ(P, Q)P − DC,                                    (1)   for software may be achieved by defining appropriate quality
                                                                                      characteristics, taking into account the purpose of usage of
  where the development cost is defined as DC = F C +                                 the software product. Developing green software necessitates
e.Q(Ai ). The parameter FC is the fixed cost tied to research                         identification of the traditional quality attributes as well as
and environmental attributes. The software development com-            low product (scale: 5) means that it will be rejected. These
panies can show their effort to support sustainability by using        levels of quality attributes (Ai ) are used when calculating the
these attributes and metrics.                                          total quality of the product that is given in the Equation 2.
                                                                          General constraints of the attributes is 0 ≤ Ai ≤ 1.0 (i =
A. Selection of the Quality Attributes                                 1, . . . , n). Table III shows the adopted attributes, their related
   Software product quality attributes were selected from the          metrics and level of intensity. In order to obtain the levels of
ISO/IEC 25000 (SQuaRE) [16] series. ISO/IEC 25010 is a                 quality, we widely use the Pareto principle often referred to
part of Square series that is composed of a quality in use             as the 20-80 rule [33]. In the literature, this rule is widely
and a product quality model. The criteria defined by model             used (e.g., [13]). For the energy efficiency, we adopted Intels
are relevant to all software product and computer systems.             holistic approach for energy star ratings across the broader
Considering the scope of our study, we adopted ISO/IEC                 range of products [21]. The energy efficiency of a computer
25010 product quality model that categorizes product quality           with 100% workload has given as 82-85%. In order to use
properties into eight characteristics: functional suitability, reli-   the same scale, we normalized them into [0-1] interval. We
ability, performance efficiency, usability, security, compatibil-      also used the power consumption measurements of a database
ity, maintainability and portability. While functional suitabil-       software obtained by Akinli Kocak et al. [18], [20].
ity, reliability, performance efficiency, usability, security and         The importance weights of the quality attributes are also
compatibility are defined as internal quality characteristics;         fundamental to set the priority, both for the customer and the
maintainability and portability are external characteristics. In       company. Prioritizing is a process of managing the relative
their survey study Akinli Kocak et al. [19] showed that security       importance and determination of different requirements within
and compatibility has negligible impact of the environmen-             the limited resources. Quality attributes weights and environ-
tally sustainable software product quality. Therefore, in this         mental attributes weights of software product can be obtained
work, we only adopted functional suitability, performance              from evaluation of the criteria using multi-criteria decision
efficiency, reliability and usability as quality attributes. As        making methodologies. In one of our works [18], we have
for the environmental attributes, we adopted energy efficiency         used a well-known multi- criteria decision-making approach:
and resource efficiency from Akinli Kocak et al. [19], [18].           Analytical Network Process (ANP) [32] to calculated the
Environmental sustainability aims at improving human welfare           relative weights (wi) of the quality attributes.
while protecting natural resources. If the software product is
considered, this dimension aims at addressing environmental                        V. C ONCLUSION AND F UTURE W ORK
requirements. When designing software intensive systems,                  Many disciplines have been facing challenges in how to
immediate features and effects, longer-running, aggregate and          sustain economic, social and ecological systems. The design of
cumulative impact of these systems have to be considered               environmentally sustainable software product is a challenging
[4]. However, for simplicity we considered only energy and             task, when it is compared to develop traditional software
resource efficiency as environmental attributes which have             product, since an environmentally sustainable software has
direct effects (first order effects [14]) on the environmental         different quality attributes (especially in terms of quality
sustainability. Computing resources (memory, processing, net-          requirements). In this work, we introduce a software classi-
work bandwidth, and storage) are the principal sources of              fication scheme using standard software quality requirements
consumption within the software system. Given a monitoring             and introducing environmental attributes. Accordingly, we
of energy consumption over certain period, energy efficient            propose a way of determining demand in terms of price and
resource usage possibilities may be spotted and subsequently           quality, and utility of a software development company. We
applied. For this reason, energy efficiency and resource effi-         derive customer‘s and development company‘s payoffs. As
ciency are chosen as characteristic of environmental quality of        a continuation of this work, the proposed simple demand
the product. Table II summarizes all the selected attributes of        functions need to be elaborated by quantifying the sensitivity
software quality.                                                      coefficients. These demand functions may be integrated into
                                                                       the given green software scheme to build a green decision
B. Determining the Importance Weights (wi)                             support tool. Our contribution will serve as a normative guide
   The quality attributes of software products may impact              to software development companies for the design of green
costumer‘s perceived value with various levels of intensity.           product with handling environmental sustainability as a quality
We classified software products by characterizing them as              objective. As next step, we plan to examine the theoretical
high-intensity (a high), medium-intensity (a medium) and low-          introductory model with simulation and find the equilibrium
intensity (a low). High-intensity software products contain            to meet the both development company and customer needs
attributes that have biggest contribution on sustainability and        within the necessary quality attributes.
are critical to achieve the purpose of the software. For the level
of intensity, we use 1 to 5 scale [26]. In that scale, the high                              ACKNOWLEDGMENT
product intensity (scale: 1-2) means that this product will be           This research has been financially supported by the
accepted (as accept). Similarly, the medium product intensity          Galatasaray University Research Fund, project number:
(scale: 3-4) means that it will be reviewed (review) and the           19.401.005.
                                                                            TABLE II
                                               S OFTWARE Q UALITY AND E NVIRONMENTAL S USTAINABILITY ATTRIBUTES

                    (Q)                     Software Quality

    Q1: Functional Suitability              The product fits the functional requirements of the user and customer.

   Q2: Performance Efficiency               How well the product responds to user requests and how efficient it is at execution time.

              Q3: Reliability               The product produces failures and hence may not be available.

              Q4: Usability                 How easily the system can be used.

                    (E)                     Environmental Sustainability

        E5: Energy Efficiency               The level of energy performance of the software and the amount of energy resources used, under stated conditions.

        E6: Resource Efficiency             How efficiently the resources used by the product when performing its functions and/or serving useful workload.



                               TABLE III                                                     Icing on the cake. In Second Int. Workshop on RE for Sustainable
         Q UALITY ATTRIBUTES , METRICS AND LEVEL OF INTENSITY                                Systems (RE4SuSy), 2013.
                                                                                         [9] N. Condori-Fernandez and P. Lago. Characterizing the contribution of
Attribute                 Related Metric                 Levels of Intensity                 quality requirements to software sustainability. Journal of Systems and
                                                                                             Software, 137:289–305, 2018.
                                                         Low, if A1 ≤ 0.20
Functional                                                                              [10] N. Condori Fernandez and P. Lago. A Sustainability-quality Model. VU
                          Functional completeness        Medium, if 0.21