Search papers, labs, and topics across Lattice.
This vision paper introduces the concept of sustainability antipatterns in software engineering, highlighting how decisions at various organizational, process, and product levels can lead to systemic sustainability challenges. By analyzing the interactions among these levels, the authors reveal that sustainability issues are often interconnected rather than isolated, complicating efforts to achieve long-term software sustainability. The key result is the proposal of a framework for identifying and mitigating these antipatterns, which can guide future research and practice in sustainable software engineering.
Sustainability antipatterns expose the hidden systemic interactions that lead to unsustainable software engineering practices, reshaping our approach to long-term software viability.
Software engineers expect a software system to be efficient, maintainable, economically viable, and socially responsible throughout its lifecycle. Unfortunately, decisions made at the organizational, process, or product levels of software development - even when they improve one of these goals - often have unintended long-term consequences at other levels. In response, software-engineering research has explored different ways to achieve software sustainability, including energy efficiency, resource optimization, and code maintainability. However, existing research offers limited explanations for how sustainability problems emerge and reinforce one another across the socio-technical levels of software engineering. Moreover, we argue that sustainability challenges are not isolated but rather systemic: They stem from interactions among organizational priorities, development practices, and technical conditions. In this vision paper, we introduce the concept of sustainability antipatterns to capture conditions that systematically produce unsustainable outcomes. We demonstrate how this concept can help expose cross-level misalignments between socio-technical levels and sustainability dimensions that remain difficult to recognize through artifact-centric or dimension-specific analyses. To guide future research, we outline concrete directions for identifying, formalizing, detecting, and mitigating sustainability anti-patterns. We envision sustainability anti-patterns as a foundation for an integrated and actionable research agenda on sustainable software engineering.