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