Position Paper: RE4SuSy: Third International Workshop on Requirements Engineering for Sustainable Systems Software Sustainability: The Modern Tower of Babel 2 3 4 1 1 5 6 3 C. C. Venters, C. Jay, L. M. S, Lau, M. K. Griffiths, V. Holmes, R. R. Ward, J. Austin, C. E. Dibsdale, and J. Xu 1 2 3 University of Huddersfield University of Manchester University of Leeds School of Computing & Engineering School of Computer Science School of Computing & Informatics € Huddersfield, € UK € € Manchester, € UK € € Leeds, € UK {v.holmes; r.r.ward}@hud.ac.uk caroline.jay@cs.manchester.ac.uk {l.m.s.lau; j.xu}@leeds.ac.uk € 4 € 5 € 6 University of Sheffield University of York Optimized Systems and Solutions Ltd, Sheffield, UK Department of Computer Science Derby, UK m.griffiths@sheffield.ac.uk York, UK charlie.e.dibsdale@o-sys.com austin@cs.york.ac.uk € € € Abstract— The development of sustainable software has been The narrative of the ‘Tower of Babel’ provides a useful identified as one of the key challenges in the field of analogy to describe the current understanding of the concept of computational science and engineering. However, there is software sustainability both within and outside the community. currently no agreed definition of the concept. Current definitions While there is no divine intervention at its source, there is a range from a composite, non-functional requirement to simply an considerable amount of confusion and divergence regarding emergent property. This lack of clarity leads to confusion, and potentially to ineffective and inefficient efforts to develop what software sustainability means, how it can be measured or sustainable software systems. The aim of this paper is to explore demonstrated, or how to train and educate the broad spectrum the emerging definitions of software sustainability from the field of domain scientists and advance the skills of software of software engineering in order to contribute to the question, engineers to develop sustainable software [2, 12-13]. The what is software sustainability? The preliminary analysis principal aim of this paper is to explore the definitions that suggests that the concept of software sustainability is complex have emerged from the field of software engineering in order to and multifaceted with any consensus towards a shared definition address the question, what is software sustainability? Section 2 within the field of software engineering yet to be achieved. examines the concept of software sustainability from a software Index Terms— Non-functional requirements, quality artifact perspective. Section 3, examines definitions which attributes, software engineering, software sustainability, sustainability focus on the software development process. Section 4 examines software sustainability as a non-functional requirement. Section I. INTRODUCTION 5 examines the use of software sustainability frameworks for The concept of sustainability has principally been exploring sustainability. Section 6 considers whether software associated with ecology, and the relationship between humans sustainability is an emergent property. In Section 7, and planet Earth [1]. In recent years, software sustainability has conclusions are drawn and future directions are outlined. emerged as an area of research in the field of software II. SOFTWARE SUSTAINABILITY engineering and has been identified as an important future topic as new approaches to research become increasingly dependent The word sustainability is derived from the Latin sustinere. on complex software systems, which operate in evolving, The Oxford English Dictionary [14] defines sustainability as distributed e-infrastructure eco-systems [2]. ‘the quality of being sustained’, where sustained can be defined Its importance has been further underlined by recent as ‘capable of being endured’ and ‘capable of being funding initiatives from the National Science Foundation [3] in ‘maintained’. Endured is defined as ‘continuing to exist’ and the US and the Engineering and Physical Sciences Research maintained as ‘being supported’ [14]. This suggests that time Council [4] in the UK, combined with the establishment of the or longevity and maintenance are important factors in Software Sustainability Institute [5]. In addition, a number of understanding sustainability. The most widely adopted workshops have emerged which are dedicated to exploring the definition of sustainability is that proposed by the Brundtland topic of sustainable software and systems from a range of commission which defined sustainability as ‘meeting the needs different perspectives [6-7]. of the present without compromising the ability of future Fundamental to the advancement of software sustainability generations to meet their needs’ [15]. However, this definition as a field of research requires an understanding of the concept is rather broad and difficult to understand and apply in any [8]. However, there is no agreed definition of software meaningful way. In recent years, a triple bottom line sustainability. While there have been a number of contributions perspective of sustainability has been adopted which considers to formalize a definition of software sustainability, the concept sustainability to include three components: environment, remains an elusive and ambiguous term with individual’s, society and economy [10]. It is argued that by incorporating the groups and organizations holding diametrically opposed views three dimensions it leads to more sustainable outcomes [16]. [9]. However, this is not a problem unique to the field of A number of definitions have emerged from the field of software engineering [10-11]. software engineering, which focuses on the sustainability of the Position Paper: RE4SuSy: Third International Workshop on Requirements Engineering for Sustainable Systems software artifact. Seacord et. al., [17] define software requires that the variables are chosen based on the context. In sustainability as the ‘ability to modify a software system based addition, four aspects are proposed which can be used for on customer needs and deploy these modifications’. However, serving as a structure for discussing and supporting software they state that the terms ‘software sustainment’ and ‘software sustainability rather than as an ‘apodictic differentiation’: maintenance’ are often used interchangeably. They • Development process: use of ecological, human and differentiate between the terms based on the IEEE standard financial resources; definitions where software maintenance refers to ‘the process • Maintenance process: continuous monitoring of of modifying a software system or component after delivery to quality and knowledge management; correct faults, improve performance, or other attributes or • System production: focused on the use of resources adapt to a changed environment’ [18]. This suggests that for production to be achieved; primary difference between sustainability and maintainability is • System usage: takes into account responsibility for the the evolution of software based on stakeholder requirements. environmental impact. However, they argue that there is a strong dependency on a range of other factors including the organization, stakeholders, The principal distinction here is that the first two aspects focus the operational domain as well as other software artifacts on the organization and its processes, and the latter two focuses including the architecture, design documentation, and test on the system being developed. As a result, it is suggested that a distinction can be made between ‘software for sustainability’ scripts. which is related to the absolute definition and ‘sustainable The Software Sustainability Institute define sustainability as ‘software you use today will be available - and continue to software’ which is related to the relative definition. be improved and supported - in the future’ [5]. Despite the III. SUSTAINABLE SOFTWARE DEVELOPMENT ambiguity of the definition, it implicitly suggests that An increasing number of definitions of sustainable software sustainability is concerned with the qualities of availability focus on sustainability from a software development (available), extensibility (improved), and the maintainability perspective. Amsel et. al., [23] consider sustainable software (supported) of the software where the attributes can be aligned engineering as a process which ‘aims to create reliable, long- in accord with the IEEE definitions [18]. lasting software that meets the needs of users while reducing Koziolek [20] defines the term sustainability in the context environmental impacts’. Without specific reference to a of software architectures and proposes two definitions of definition of reliability, this suggests that there is a link sustainable software. In the first definition sustainable software between reliability, stakeholder requirements and the is defined as ‘a software-intensive system that operates for environment. In order to explore the environmental impact of more than 15 years’. This is a position supported by Tamai and software usage they developed GreenTracker, which measures Torimitsu [21] who suggest that the average software lifetime the energy consumption of software CPU consumption. This is is 10 years, with a minimum of two years and a maximum of related to the concept of reliability, which plays a key role in thirty. In the second definition, sustainable software is defined determining the cost-effectiveness of systems. The data as ‘a long-living software system which can be cost-efficiently generated by the tool can then be analyzed to create more maintained and evolved over its entire life-cycle’. While the energy efficient software. former definition offers no real insight into software Naumann et. al., [24] make a distinction between sustainability it provides a benchmark against which to sustainable software and sustainable development. In the first investigate formal methods for assessing software longevity. definition, sustainable software is defined as ‘software, whose Similarly, the latter definition suggests that maintainability and direct and indirect negative impacts on economy, society, extensibility are key features of sustainability, which are tightly human beings, and environment that result from development, coupled with the economical dimension in determining the deployment, and usage of the software are minimal and/or sustainability of software. which has a positive effect on sustainable development’. This Penzenstadler [22] defines sustainability as ‘preserving the relates the triple bottom line perspective of sustainability to the function of a system over a defined time span’. This implicitly software development lifecycle. However, they suggest that a suggests that software sustainability is primarily concerned sustainable software product can only be achieved if the with maintainability with the addition of time as a factor. organization is aware of the negative and positive impacts on However, does preservation in the strictest sense of the word sustainable development that results from usage. In the second lead to or ensure sustainability? In addition, it is argued that definition sustainable software development is defined as ‘the within this definition there are three core variables that need to art of developing sustainable software with a sustainable be defined for setting the scope for discussions on software engineering process so that negative and positive sustainability: impacts result in and/or are expected to result from the • System: the humanity in its ecosystem; software product over its whole life cycle are continuously • Function: a satisfaction of need; assessed, documented, and used for further optimization of the • Time: spans various generations. software product’. To achieve sustainable software through a Based on this a distinction is drawn between an absolute versus sustainable software development process they proposed the a relative definition of software sustainability where the GREENSOFT model; a conceptual reference model, which difference is that the former has fixed variables while the later includes a cradle-to-grave product life cycle model for software Position Paper: RE4SuSy: Third International Workshop on Requirements Engineering for Sustainable Systems products, sustainability metrics and criteria for software, However, they suggest that the fundamental question at the extensions for software engineering. heart of the model is not, in which phase are metrics applied or Calero, Moraga, and Bertoa [8] attempt to make a similar in which phases are they taken in order to improve the quality distinction between ‘sustainable software development’ and the attributes? The principal question is, in which life cycle phase ‘sustainability of a software product’. Sustainable software can the related effects be observed? development is defined as a ‘mode of software development in Taina [29] argues that from the software system which resource use aims to meet product software needs while perspective, software is an indivisible component. As a result, ensuring the sustainability of natural systems and the sustainability can be defined only within a software system. environment’. In contrast, sustainability of a software product This suggests that sustainability is a relative factor as two is defined as ‘the capacity of developing a software product in software artifacts cannot be compared unless they are in similar a sustainable manner’. However, it is not clear what the real software systems. He suggests that sustainable software has the distinction is between the two definitions since sustainable following properties: software development should in essence lead to a sustainable • Fit for purpose: defines how software helps its system software product. reach its goal; Tate [25] argues that developing software is a complex task • Reduction: defines how software supports its system in that is performed in an environment of constant change and waste reduction; uncertainty, which results in software products that are • Beauty: defines the value of the system in sustainable unsustainable. He defines sustainability as ‘developing the development. capability to deliver customer value today and tomorrow’. It is suggested that all these factors can be measured similarly However, it is also linked to agility and context where agility is inside a software system. An important caveat is that the concerned with the balance between the short term versus long problem domain should be defined where the software is term, anticipation versus adaptation, ceremony versus executed prior to the definition of sustainability being defined. informality, and context is the specific context of each project, This strongly suggests that software sustainability is highly which must be understood in order to adapt development practices. He proposes that the solution to this problem is context dependent and a relative concept. sustainable development; a mindset and culture which can be Venters et. al., [13] defined software sustainability as a accompanied by a set of practices that include continual composite, non-functional requirement which is ‘a measure of refinement of the product and project practices; a working a systems extensibility, interoperability, maintainability, product at all times; continual investment in and emphasis on portability, reusability, scalability, and usability’ where the design; and valuing defect prevention over defect detection. attributes can be defined as: However, Fenner et. al., [26] argue that for sustainable • Extensibility: a measure of the software’s ability to be engineering to be successful it requires a paradigm shift in extended and the level of effort required to implement thinking to embrace a holistic approach founded in complexity the extension; science. • Interoperability: the effort required to couple software systems together. IV. SOFTWARE SUSTAINABILITY: NON-FUNCTIONAL • Maintainability: the effort required to locate and fix an REQUIREMENT? error in operational software; A number of commentators argue that sustainability should • Portability: the effort required to port software from be classified as a first-class, non-functional requirement [23, one hardware platform or software environment to 27-28]. In the field of software engineering, non-functional another; requirements or software quality attributes can be defined as • Reusability: the extent to which software can be ‘the degree to which a system, component or process meets a reused in other applications; stakeholders needs or expectations’ [18]. Non-functional • Scalability: the extent to which software can requirements express desired qualities of the system to be accommodate horizontal or vertical growth. developed and refer to both observable qualities and also to • Usability: the extent to which a product can be used internal characteristics. In addition, they specify criteria that by specified users to achieve specified goals with can be used to judge the operation of a system, rather than its effectiveness, efficiency, and satisfaction in a specific functional behavior. As a result, a number of specified context of use. contributions have focused on defining software sustainability Several of the quality attributes specify the ‘effort required’ to as a non-functional requirement. achieve a particular outcome. This suggests that the concept of Without explicit reference to specific non-functional sustainability is strongly coupled to other quality attributes requirements, the GREENSOFT model proposed by Naumann, such as energy and cost efficiency, and resource utilization Dick, Kern and Johann [24] is designed to incorporate a range over its entire lifetime. They argue that by defining software of non-functional requirements within the three categories of sustainability as a non-functional requirement it allows us to the sustainability criteria and metrics section of the reference move away from the focus of thinking about how we sustain model. This separation allows the examination of first-, second- existing software, to understanding how we can develop and third- order impacts on the environment that result from sustainable software in the future. This is a position supported effects of supply, effects of usage and systemic effects. Position Paper: RE4SuSy: Third International Workshop on Requirements Engineering for Sustainable Systems by Koziolek [20] who proposes that sustainability comprises Jansen, Wall and Weiss [32] focus on sustainability from an the core attributes of maintainability, modifiability, portability economic perspective and consider how a system can remain and evolvability. However, it is clear that such a definition economically viable over its entire lifetime. To address this needs to embrace other dimensions of sustainability. they propose TechSuRe as a method for reasoning about Defining software sustainability as a non-functional sustainability in assessing software evolution and technology requirement is a position supported by Calero, Bertoa, and integration from three perspectives: time, risk and cost benefit. Moraga [8] who suggest that software sustainability is related Sustainability is defined in terms of ‘sustainability risk’ which to a number of the main quality attributes and their sub- is an estimated value based on nine high-level indicators: characteristics defined in the ISO/IEC 25010 quality model; the lifetime in production, lifetime, competence risk, technology standard has eight product quality characteristics and thirty one evolution risk, risk of changing business model, market risk, sub-characteristics. However, they suggest that sustainability lifetime certainty, complexity risk and technology evolution can be considered from two perspectives: energy efficiency and fitness. The output of the assessment is an indication of the perdurability. In terms of energy efficiency they propose the expected lifetime of the technology’s [economic] sustainability. sub-characteristics of: Penzenstadler and Femmer [33] propose a reference model • Energy consumption: the degree to which the amount for sustainability that decomposes sustainability into five of energy used by a software product when performing dimensions: its functions meet requirements; • Environmental: improving human welfare by • Resource optimization: the degree to which the amount protecting natural resources; and types of resources used by a product when • Individual: the maintenance of the private good of performing its functions meets sustainability individual human capital; requirements. • Social: maintaining social capital and preserving the Based on the sub-characteristics of reusability, modifiability, societal communities in their solidarity; and adaptability they define ‘perdurability’ as the ‘degree to • Economic: maintaining assets; which a software product can be modified, adapted and reused • Technical: long-time usage of systems and their in order to perform specified functions under specified adequate evolution with changing surrounding conditions for a long period of time’. However, this conditions and respective requirements. significantly narrows the view of software sustainability as a The method comprises a generic sustainability reference non-functional requirement and potentially eliminates model, a meta-model, and instances derived for specific important software quality attributes. Similarly, it is not clear processes and software systems, and is primarily designed to why defining software sustainability in terms of its aid as a reference model for software developers. Their perdurability i.e. very durable, is different from the overall aim approach demonstrates how environmental sustainability can of making software sustainable, at least in terms of the artifact, be aligned with the other dimensions of sustainability. How the as the definition of sustainability is underpinned by the idea of reference model potentially integrates with non-functional enduring. requirements presents an opportunity to explore its robustness. One of the principal challenges in defining sustainability as Rodriguez and Penzenstadler [34] propose utilizing the a non-functional requirement is how to demonstrate that the IMAGINE approach developed by Bell and Morse [35] which quality factors have been addressed in a quantifiable way. applies the principles of systems thinking for analyzing and Software architectures provide a potential mechanism for assessing sustainability of a software-intensive system that reasoning about software sustainability at an architectural level, exhibits a significant impact on the sustainability of city which is achieved through adherence to design principles such mobility. The overall aim of the research was to investigate the as modularity, separation of concerns and conceptual integrity applicability and usefulness of the approach from within throughout the entire life cycle [13, 20, 30]. classical sustainability research to requirements engineering for V. SOFTWARE SUSTAINABILITY FRAMEWORKS software-intensive systems. Rather than adopt an absolute definition of sustainability they utilize a set of sustainability A number of frameworks have also been proposed for indicators previously defined by Rodriguez and Penzenstadler exploring sustainability. Cabot et. al., [31] focus on natural [36]. While a formal evaluation was not possible, the results sustainability which they define as ‘the exploitation of an suggest that the IMAGINE approach could be successfully (eco)system that does not degrade or adversely change the applied with a focus on sustainability at its roots. Similarly, the system beyond what is acceptable’. To address sustainability existing sustainability indicators can be utilized in other they propose the i* framework as a sustainability taxonomy for assessments in related application areas. modeling and integrating stakeholders’ sustainability issues. In addition, a number of frameworks have been proposed This can be used for exploring alternative design options for defining sustainability without specific reference to the field during the development of a software system where decisions of software engineering [37-39]. However, it is suggested that may have a potential impact on sustainability. However, the the primary challenge of developing frameworks for extent to which this approach can be utilized beyond the case sustainability requires defining the boundaries to include the study used to develop the taxonomy is unclear but provides a context within which the problem domain is situated [39]. useful basis to explore its limits and generalizability. Position Paper: RE4SuSy: Third International Workshop on Requirements Engineering for Sustainable Systems VI. SOFTWARE SUSTAINABILITY: EMERGENT PROPERTY sustainability means, contributions will continue to remain A diametrically opposed position of an absolute definition insular and isolated, which will ultimately lead to ineffective of software sustainability is that it is simply an emergent and inefficient efforts to address the concept or result in its property of a software system. An emergent property cannot be complete omission from the software system [22]. Any attributed to any specific part of the system but emerges once consensus within the field of software engineering has yet to be the components of the system have been integrated into a achieved. whole [40]. Two types of emergent properties can be identified: What is required is a definition that is tailored to quantitative sustainability objectives that encompasses its complexity and • Functional emergent properties: the purpose of the multi-dimensional nature. This would result in a clear system emerges after its components are integrated; indication as to whether objectives of software sustainability • Non-functional emergent properties: related to the have been met; provide a holistic view of the ecosystem in behavior of the system in its operational environment. which it operates; have a quantitative character; contain This suggests that sustainability cannot be designed or parameters whose relevance will be slow to degrade. engineered and quantified until after the software system is Importantly, any definition of software sustainability must be operational. This issue was explored at WSSSPE’1 [7] where understandable not only to domain scientists and software the following question was raised, can sustainability be engineers but to the layperson. In the interests of avoiding designed for or is it an emergent property that a market future inconsistencies it is necessary to develop an integrative determines [41]? Using MS Word as an example, it was framework that allows the characterization and classification of suggested that it had sustained i.e. endured. As a result, this existing definitions and perspectives and their relevance to product could be described as sustainable software since by a software sustainability that meet the above criteria. Future dictionary definition it had endured. However, it was argued work will focus on the development of a framework that aims that its sustainment was driven by demand not by any software to disambiguate the term software sustainability and express it engineering quality. Nevertheless, since its release in 1983 it in terms of quantifiable metrics rather than conceptual would be difficult to argue that its sustainment could be solely constructs. How to make software sustainable both in terms of attributed to market forces since the software has been the software artifact, the development process, and how these maintained, evolved, matured and ported on to different relate to the wider concerns of environmental, economic, platforms. social, individual, and technical sustainability remains an open VII. SUMMARY AND CONCLUSIONS area of research. The aim of this paper was to explore the emerging REFERENCES definitions of the concept of software sustainability from the [1] A. Woodruff and J. Mankoff. “Environmental sustainability,” field of software engineering in order to contribute to the IEEE Pervasive Computing, 8(1), pp: 18-21, 2009. ongoing discussion of what is software sustainability? [2] A. Geist, and R. Lucas. “Major computer science challenges at This preliminary analysis suggests that software Exascale.” International Journal of High Performance sustainability is a complex and multifaceted concept that can be Computing Applications, 23(4): pp: 427-436, 2009. viewed from a variety of perspectives and can include a range [3] NSF A Vision and Strategy for Software for Science, of different dimensions and factors. Despite the numerous Engineering, and Education. Available: http://www.nsf.gov/publications/pub_summ.jsp?ods_key=nsf12 definitions that exist for software sustainability most are either 113 too vague or limited in their scope. Such definitions prove [4] EPSRC Software for the future. Available: inadequate because of their reliance on abstract constructs that http://www.epsrc.ac.uk/funding/calls/2014/Pages/softwarefuture provide limited guidance in developing quantitative indicators .aspx for measuring performance or representing the complexities [5] Software Sustainability Institute. Available: involved. As a result the term software sustainability is http://www.software.ac.uk/about. frequently used to embody vague, diverse and contradictory [6] Re4Susy: Third International Workshop on Requirements ideas that are neither sound nor novel. This lack of a shared Engineering for Sustainable Systems. Available: definition can lead to incompatible practices. The quote http://www.ics.uci.edu/~bpenzens/2014re4susy/ regarding Big Data and teenage sex could aptly be applied to [7] WSSSPE’1: First Workshop on Sustainable Software for software sustainability: Science: Practice and Experiences. Available: “Everyone is talking about it, nobody really knows http://wssspe.researchcomputing.org.uk/wssspe1/ how to do it, everyone thinks everyone else is doing [8] C. Calero, M. A. Moraga, and M. F. Bertoa. “Towards a it.” Dan Ariely software product sustainability model,” WSSSPE’1: First workshop on sustainable software for science: practice and While not everyone is talking about it the rise in research experiences, SC’13, 17 November 2013, Denver, CO, USA. output would suggest that there is a growing interest in [9] D. S. Katz et. al., “Summary of the first workshop on sustainable software sustainability as an active area of research. However, software for science: Practice and experiences (WSSSPE1),” the significance of not having a shared and common definition Journal of Open Research Software, 2 (1):e6, pp: 1-21, 2014. of software sustainability cannot be underestimated. Without a [10] H. Svendrup and M. G. E. Svenson. “Defining the concept of clear and commonly accepted definition of what software sustainability – a matter of systems thinking and applied systems Position Paper: RE4SuSy: Third International Workshop on Requirements Engineering for Sustainable Systems analysis,” Systems Approaches and their Application, pp: 143- sustainable development,” Proceedings of the ICE: Engineering 164, 2004. Sustainability, 159 (4), pp: 145-154. 2006. [11] P. Glavič and R. Lukman. “Review of sustainability terms and [27] M. Mahaux, P. Heymans and G. Saval. “Requirements their definitions,” Journal of Cleaner Production, 15(18), pp: engineering: Foundation for software quality,” Lecture Notes in 1875–1885, 2007. Computer Science Volume 6606, pp: 19-33, 2011. [12] B. Penzenstadler, and A. Fleischmann. “Teach sustainability in [28] T. Johann and W. Maalej. “The social dimension of software engineering?” Proceedings of the 24th IEEE-CS sustainability in requirements engineering,” RE4SuSy: Second Conference on Software Engineering Education and Training, International Workshop on Requirements Engineering for IEEE Computer Society, pp: 454-458, 2011. Sustainable Systems Monday, Rio, Brazil, July 15th, 2013. [13] C. C. Venters et. al., “The blind men and the elephant: Towards [29] J. Taina. “Good, bad, and beautiful software - In search of green an empirical evaluation framework for software sustainability,” software quality factors,” CEPIS UPGRADE, volume XII, pp. WSSSPE’1: workshop on sustainable software for science: 22–27, 2011. practice and experiences, SC’13, 17 November 2013, Denver, [30] S. Sehestedt, C-H. Cheng, and E. Bouwers. “Towards CO, USA. quantitative metrics for architecture models,” Proceedings of the [14] Oxford English Dictionary. 2012. Oxford Dictionaries. WICSA 2014 Companion Volume. Sydney, Australia, ACM: [15] United Nations: World Commission on Environment and pp: 1-4, 2014. Development: Our Common Future. Oxford Univ. Press, 1987 [31] J. Cabot, S. Easterbrook, J. Horkoff, L. Lessard, S. Liaskos, J. [16] J. Elkington. “Enter the triple bottom line,” In: R. Henriques and Mazón. “Integrating sustainability in decision-making processes: A. Richardson (eds.). The triple bottom line: Does it all add up? A modelling strategy,” ICSE: 31st International Conference on pp: 1-16, 2004. Software Engineering. pp: 207-210, 2009. [17] R.C. Seacord, J. Elm, W. Goethert, G. A. Lewis, D. Plakosh, J. [32] A. Jansen, A. Wall and R. Weiss. “TechSuRe: A method for Robert, L. Wrage, and M. Lindvall. “Measuring software assessing technology sustainability in long lived software sustainability,” Software Engineering Institute, Carnegie Mellon intensive systems,” SEAA 2011: Proceedings of the 37th University, Pittsburgh, PA, USA, 2003. EUROMICRO Conference on software engineering and advanced applications, Oulu, Finland, August 30 - September 2, [18] IEEE. 1990. “IEEE standard glossary of software engineering 2011. terminology”, IEEE Std. 610.12-1990. [33] B. Penzenstadler and H. Femmer. “A generic model for [19] Software Sustainability Institute. Available: sustainability with process- and product-specific instances,” In http://www.software.ac.uk/about International Workshop on Green In Software Engineering and [20] H. Koziolek. “Sustainability evaluation of software Green By Software Engineering at AOSD, 2013. architectures: A systematic review,” Proceedings of the joint [34] A. Rodriguez and B. Penzenstadler. “An assessment technique ACM SIGSOFT conference on quality of software architectures. for sustainability: Applying the imagine approach to software Boulder, Colorado, USA, pp: 3-12, 2011. systems,” RE4SuSy: Second International Workshop on [21] T. Tamai and Y. Torimitsu. “Software lifetime and its evolution Requirements Engineering for Sustainable Systems Monday, process over generations,” Proceedings of the Conference on Rio, Brazil, July 15th, 2013 at RE'13, July 15th-19th, 2013. Software Maintenance, pp: 63-69, 1992. [35] S. Bell and S. Morse. “Sustainability indicators: Measuring the [22] B. Penzenstadler. “Towards a definition of sustainability in and immeasurable?” Earthscan Publications, 1999. for software engineering,” SAC’13: Proceedings of the 28th [36] A. Rodriguez and B. Penzenstadler. “An assessment technique Annual ACM Symposium on Applied Computing, Coimbra, for sustainability: Applying the IMAGINE approach to software Portugal, March 18-22, pp: 1183-1185, 2013. systems,” Technical Report TUM-I1218, Technische Universitat [23] N. Amsel, Z. Ibrahim, A. Malik, B. Tomlinson. “Toward Munchen, 2012. sustainable software engineering,” ICSE: Proceedings of the [37] L. Seghezzo. “The five dimensions of sustainability,” 33rd International Conference on Software Engineering. Environmental Politics. 18 (4), pp: 539-556, 2009. Waikiki, Honolulu, HI, USA, pp: 976-979, 2011. [38] P. Burger, and M. Christen. “Towards a capability approach of [24] S. Naumann, M. Dick, E. Kern, T. Johann. “The GREENSOFT sustainability,” Journal of Cleaner Production, 19 (8), pp: 787– model: A reference model for green and sustainable software 795, 2011. and its engineering,” Sustainable Computing: Informatics and Systems, 1, pp: 294–304, 2011. [39] A. Mukherjee and H. Muga. “An integrative framework for studying sustainable practices and its adoption in the AEC [25] K. Tate. “Sustainable software development: An agile industry: A case study,” Journal of Engineering and Technology perspective”, Addison-Wesley, 2006. Management, 27, pp: 197-241, 2010. [26] R. A. Fenner, C. M. Ainger, H. J. Cruickshank, P. M. Guthrie. [40] P. Checkland, “Systems thinking, systems practice: Includes a “Widening engineering horizons: Addressing the complexity of 30 year retrospective,” John Wiley & Sons, 1981. [41] “WSSSPE Collaborative notes,” Available bit.ly/wssspe13