Clearing the Path for Software Sustainability

Jennifer Gross,Sofia Ouhbi
2024-05-24
Abstract:The advancement of software sustainability encounters notable challenges, underscoring the necessity for understanding these challenges to facilitate significant progress and pave the way for effective solutions to advance software sustainability. This paper outlines key challenges identified in literature based on findings from a tertiary study. Challenges identified include: confusion regarding the definition of software sustainability, uncertainty about when to consider sustainability in software development, lack of assessment metrics and tools, narrow perspectives on sustainability in software systems, insufficient awareness and education, and a lack of serious considerations in practice. The paper aims at clarifying the confusion surrounding software sustainability to motivate effective solutions. The provided recommendations aim to give a more organized approach towards advancing sustainable software development, emphasizing comprehensive strategies, the integration of sustainability as a fundamental aspect of software development, actionable research directions, and the cultivation of a common understanding of sustainable software.
Software Engineering
What problem does this paper attempt to address?
This paper attempts to address several key challenges in the field of software sustainability. Specifically, through literature review and tertiary study, the author identifies and analyzes the following main issues: 1. **Confusion in Definitions**: - Definitions of "software sustainability" in the literature are inconsistent, leading to conceptual ambiguity and uncertainty in application. Different research teams have proposed multiple definitions and dimensions from different perspectives, such as economic, social, environmental, individual, and technical ones, but lack a unified standard. 2. **When to Consider Sustainability**: - There is uncertainty regarding when and how to introduce sustainability practices during the software development process. In current research and practice, there is no clear consensus on which stage of the software life cycle to introduce sustainability measures. Moreover, existing models often lack verification and validation mechanisms, further increasing this uncertainty. 3. **Lack of Evaluation Metrics and Tools**: - The lack of comprehensive and standardized evaluation metrics and tools makes it difficult to assess the sustainability of software systems. Current attention is mainly focused on technical aspects and energy consumption, while ignoring the impacts on the environment and socio - economy. This leads to difficulties in comparing the sustainability performance of different software products and effectively tracking improvement. 4. **Narrow Perspective**: - Most existing research focuses on a specific dimension or an isolated stage of software development, failing to comprehensively consider the multi - dimensional characteristics of software systems and their wide - ranging impacts on society, economy, and environment. For example, many studies only focus on energy efficiency or the durability of software products, while ignoring other important aspects. 5. **Lack of Awareness**: - There is a lack of understanding of software sustainability in education, industry practice, and end - user comprehension. This includes a lack of training opportunities, absence of methodologies, and challenges in communicating the concept of sustainability to non - professional audiences. In particular, in crowdsourcing development and agile methods, the integration of sustainability has not been fully emphasized. To address these issues, the paper proposes several suggestions, aiming to provide researchers and practitioners with a more systematic approach to promote the development of sustainable software. These suggestions emphasize the importance of comprehensive strategies, regarding sustainability as a fundamental component of software development, and advocate cultivating a common understanding of sustainable software. In summary, the goal of this paper is to promote sustainability practices in the software development process by clarifying the confusion in the field of software sustainability and proposing effective solutions.