=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==
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,