Sustainability in Software Engineering: A Systematic Literature Review Birgit Penzenstadler, Veronika Bauer Technische Universit¨ at M¨ unchen, Germany {penzenst|bauerv}@in.tum.de Coral Calero Universidad de Castilla - La Mancha, Spain Coral.Calero@uclm.es Xavier Franch Universitat Polit` ecnica de Catalunya, Spain franch@essi.upc.edu AbstractBackground: Supporting sustainability in software engineering is becoming an active area of research. We want to contribute the first Systematic Literature Review(SLR) in this field to aid researchers who are motivated to contribute to that topic by providing a body of knowledge as starting point, because we know from own experience, this search can be tedious and time consuming. Aim: We aim to provide an overview of different aspects of sustainability in software engineering research with regard to research activity, investigated topics, identified limitations, proposed approaches, used methods, available studies, and considered domains. Method: The applied method is a SLR in five reliable and commonly-used databases according to the (quasi-standard) protocol by Kitchenham et al. [1]. We assessed the 100 first results of each database ordered by relevance with respect to the search query. Results: Of 500 classified publications, we regard 96 as relevant for our research questions. We sketch a taxonomy of their topics and domains, and provide lists of used methods and proposed approaches. Most of the excluded publications were ruled out because of an unfitting usage of terms within the search query. Conclusions: Currently, there is little research coverage on the different aspects of sustainability in software engineering while other disciplines are already more active. Future work includes extending the study by reviewing a higher number of publications, including dedicated journal and workshop searches, and snowballing. I. MOTIVATION AND BACKGROUND Sustainability is currently an omni-present term in calls for research proposals and conference sessions (ICSE, CAiSE, RE, etc.). However, in literature, there is no overview of the current state of the art in supporting sus- tainability in software engineering research and practice. Consequently, researchers who are motivated to contribute to that topic (like the first author [2]) have to invest much time in finding a basic body of knowledge through literature research of many unrelated leads. This paper reports on our systematic literature review with the objective of retrieving a solid basis of knowledge 1 on the support of sustainability in software engineering. The full protocol is available online as technical report [4]. 1 One of the common motivators for SLRs named by Zhang and Babar in [3, Tab.I]. A. Definition of Sustainability To clarify our research objective, we define our under- standing of sustainability and what we mean by sustainabil- ity and how we want to apply it to software engineering. The most cited definition of sustainable development [5] is to “meet the needs of the present without compromising the ability of future generations to satisfy their own needs.” Ac- cording to [5], sustainable development needs to satisfy the requirements of the three dimensions of society, economy, and environment. A fourth dimension, human sustainability, is less present in the public discussion. According to [6], it should be included, as it is the basis for the other dimensions. All four dimensions of sustainability are further detailed on in our SLR protocol [4]. B. Sustainability Aspects in Software Engineering Sustainability aspects can be brought to bear both during the development and use of software systems. We distinguish four aspects of sustainability in SE (orthogonal to the di- mensions introduced in Sec. I-A). The development process viewpoint includes: Development process aspect: Sustainability in the initial system development process (with responsible use of ecological, human, and financial resources). This aspect focusses on the initial conceptual and constructional development and we distinguish it from the late phase of actual system production for reasons of analysis. Maintenance process aspect: Sustainability of the soft- ware system during its maintenance period until re- placement by a new system (with continuous monitor- ing of quality, knowledge management). The product viewpoint encompasses the aspects of sus- tainability during production and usage: System production aspect: Sustainability of the software system as product with respect to its use of resources for production (using green IT principles and sus- tainably produced hardware components). The actual system production happens after most of the initial development process and considers, inter alia, mass production aspects, logistics and factory organization issues.