Software systems are a significant contributor to global sustainability concerns, demanding that environmental, social, technical, and economic factors be systematically addressed from the initial requirements engineering phase. Although existing research provides various sustainability requirements (SRs), these contributions are often fragmented, specific to certain dimensions, or limited to particular application domains, resulting in a critical lack of a unified, comprehensive taxonomy for the software engineering community. To address this gap, this research conducts a Systematic Literature Review (SLR) to extract and organize sustainability requirements from the state-of-the-art. The primary contribution is a comprehensive taxonomy of SRs across the four dimensions of sustainability (environmental, technical, social, and economic). For each identified category, we provide clear definitions, associated metrics, and measures. Furthermore, we depict a correlation matrix that projects the positive and negative influences (synergies and conflicts) among categories across different dimensions. This systematized reference assists both software developers and researchers in effectively formulating, managing, and reconciling trade-offs within sustainable software development.
academic- 论文ID: 2510.08990
- 标题: Towards a Taxonomy of Sustainability Requirements for Software Design
- 作者: Mandira Roy (Ca' Foscari University), Novarun Deb (University of Calgary), Nabendu Chaki (University of Calcutta), Agostino Cortesi (Ca' Foscari University)
- 分类: cs.SE (Software Engineering)
- 发表时间/会议: 2025 ACM Conference
- 论文链接: https://arxiv.org/abs/2510.08990
软件系统是全球可持续性问题的重要贡献者,需要从初始需求工程阶段系统性地解决环境、社会、技术和经济因素。虽然现有研究提供了各种可持续性需求(SRs),但这些贡献往往是碎片化的,特定于某些维度,或局限于特定应用领域,导致软件工程社区严重缺乏统一、全面的分类体系。为了解决这一差距,本研究进行了系统性文献综述(SLR)来提取和组织最新的可持续性需求。主要贡献是跨可持续性四个维度(环境、技术、社会和经济)的综合SRs分类体系。对于每个识别的类别,我们提供清晰的定义、相关指标和度量。此外,我们描绘了一个相关性矩阵,展示了不同维度类别间的正面和负面影响(协同和冲突)。
- 核心问题:软件系统对全球可持续性问题的贡献日益显著,但缺乏系统性的可持续性需求分类体系
- 现状分析:现有可持续性需求研究存在以下问题:
- 研究成果碎片化,缺乏统一标准
- 往往局限于特定的可持续性维度(如仅关注环境维度)
- 特定于某些应用领域,缺乏通用性
- 缺乏系统性的组织和分类
- 生命周期影响:软件的可持续性足迹贯穿整个生命周期,从需求工程到部署使用
- 设计决策关键性:软件系统的可持续性很大程度上取决于其特性和设计选择
- 行业需求:组织已经意识到这一需求,但缺乏具体的支持和知识
本研究采用第二种方向:深入分析特定软件系统以识别和解决可持续性问题,旨在为软件工程社区提供系统化的参考框架。
- 系统性文献综述:进行了全面的SLR来创建可持续性需求分类体系
- 四维分类体系:为可持续性四个维度(环境、技术、社会和经济)识别了综合的类别集合,包含定义、指标和度量
- 相关性矩阵:构建了不同可持续性维度类别间的相关性矩阵,展示不同可持续性问题间的正面或负面影响关系
- 开源资源:提供开源的分类体系,可定期更新和扩展
输入:来自不同领域和维度的可持续性需求相关文献
输出:结构化的可持续性需求分类体系,包含类别、指标、度量和相关性关系
约束条件:仅限于软件工程和计算机科学领域的同行评议文献
- RQ-1:如何在不同领域定义和特征化可持续性需求?
- RQ-2:现有研究中最常识别的可持续性需求类别是什么?
- RQ-3:不同领域SRs的共性和差异是什么?
采用三层搜索策略:
- 第一层:基础关键词 "sustainability" AND "requirements"
- 第二层:加入维度相关词汇(Social, Economic等)
- 第三层:加入特定应用领域(云计算、智能系统、医疗等)
包含标准:
- 每个查询的前100条记录
- 同行评议的期刊、会议和研讨会论文
- 英文文献
- 计算机科学或软件工程领域
- 明确提及软件系统可持续性需求
排除标准:
- 2010年前发表的研究
- 广泛讨论可持续性但未明确涉及需求的研究
- 非同行评议研究
- 需求提取:手工分析每篇选定论文,提取SRs及其维度和类别
- AI辅助:使用AI工具协助知识提取
- 分类组织:将提取的需求按维度和类别组织
- 去重处理:确保分类体系详尽且无重复
- 文献数量:通过SLR方法从四个主要数据库收集文献
- 搜索结果统计:
- 基础搜索:Scopus 2863篇,IEEE 18篇,ACM 15822篇,Wiley 110篇
- 社会维度:Scopus 886篇,IEEE 1850篇,ACM 22285篇,Wiley 4735篇
- 技术维度:Scopus 170篇,IEEE 2241篇,ACM 33088篇,Wiley 4735篇
- 经济维度:Scopus 6321篇,IEEE 2897篇,ACM 14807篇,Wiley 0篇
- 数据集准备:构建包含各维度类别及其定义的数据集
- LLM生成:使用GPT3.5和Gemini 2.5 Pro生成相关性矩阵
- 专家评审:每位作者独立标记是否同意生成的相关性
- 结果合并:将各作者结果合并到单一工作表
- 群体讨论:通过所有作者的知识和投票确定最终相关性矩阵
- 碳足迹:软件碳强度指标
- 能耗:能效、运行时效率、CPU强度、内存使用等
- 电子垃圾:不可重用模块数量
- 代码可持续性:CPU使用、内存使用、代码异味
- 资源管理:节能数据管理、水足迹
- 持久性:技术演进、功能演进
- 长久性:平均故障间隔时间、平均使用寿命
- 可修复性:内聚度和耦合度、可追溯性文档程度
- 功能膨胀:用户对各功能的参与度百分比
- 安全问题:已知漏洞数量
- 数字包容性:支持语言数量、人口统计
- 公平获取:最终用户数据可用性、水平和垂直公平
- 伦理问题:偏见程度
- 客户社会价值:正面反馈数量
- 社会工程:福祉
- 用户错误保护:恢复时间
- 循环经济:代码或服务重用百分比、共享基础设施数量
- 可负担性:获取成本
- 成本效率:开发成本(工人数量、时间和努力)
- 软件过程演进知识资本:客户资本价值、市场需求价值等
- 碳足迹↓ ⟷ 能耗↓:较低的能源使用减少温室气体排放
- 能耗↓ ⟷ 代码可持续性↑:优化代码减少计算能力和能源需求
- 电子垃圾↓ ⟷ 循环经济↑:重用和回收减少废物量和毒性
- 数字包容性↑ ⟷ 公平获取↑:消除获取障碍帮助更多人使用数字系统
- 功能膨胀↑ ⟷ 能耗↑:更多功能增加资源使用和能源需求
- 功能膨胀↑ ⟷ 长久性↓:过载系统更快变得过时
- 安全问题↑ ⟷ 可负担性↓:更强的安全性可能增加成本
- 数字包容性↑ ⟷ 成本效率↓:包容性可能增加开发成本
- 维度平衡性:四个可持续性维度都包含丰富的类别和指标
- 度量多样性:指标类型包括数值型、百分比型和定性型
- 相关性复杂性:不同维度间存在复杂的正负相关关系
- 上下文依赖性:相关性关系可能基于具体情境或场景而变化
- 框架和方法论:如ShapeRE理论框架、基于目标的场景建模方法
- 特定维度研究:专注于环境、社会或经济单一维度的研究
- 领域特定应用:电子学习系统、医疗应用、智能系统等特定领域的可持续性需求
- 实证研究:如语言相对性理论对SR识别的影响研究
- 全面性:覆盖四个可持续性维度,而非单一维度
- 系统性:通过SLR方法系统性地组织现有知识
- 实用性:提供具体的指标和度量,而非仅理论框架
- 开放性:开源分类体系,支持持续更新和扩展
- 分类体系建立:成功构建了涵盖四个可持续性维度的综合分类体系
- 相关性揭示:通过相关性矩阵揭示了不同可持续性类别间的复杂关系
- 实践指导:为软件开发者提供了具体的可持续性需求参考和权衡指导
- 时间界限:调研工作受时间限制,可能遗漏部分相关研究
- 领域限制:搜索仅限于特定领域,可能存在覆盖不全的问题
- 主观性:相关性矩阵的确定基于专家判断,存在一定主观性
- 上下文依赖:相关性关系可能因具体产品上下文而变化
- 分类体系扩展:持续更新和扩展开源分类体系
- 实证验证:在实际软件项目中验证分类体系的有效性
- 工具开发:开发支持可持续性需求工程的自动化工具
- 跨领域研究:扩展到更多应用领域和新兴技术领域
- 方法严谨:采用标准的系统性文献综述方法,确保研究的科学性和可重复性
- 贡献实用:构建的分类体系具有直接的实践应用价值,填补了领域空白
- 视角全面:同时考虑四个可持续性维度,避免了单一维度研究的局限性
- 创新性强:首次系统性地构建跨维度的可持续性需求分类体系和相关性分析
- 开放共享:开源发布研究成果,促进学术共同体的知识积累
- 验证不足:缺乏在实际项目中的应用验证,理论与实践的连接有待加强
- 定量分析有限:相关性分析主要基于定性判断,缺乏定量的统计验证
- 动态性考虑不足:未充分考虑可持续性需求随时间和技术发展的动态变化
- 工具支持缺失:未提供具体的工具或方法来应用所构建的分类体系
- 学术贡献:为可持续软件工程领域提供了重要的理论基础和参考框架
- 实践价值:为软件开发组织提供了系统性的可持续性需求指导
- 标准化推进:有助于推动可持续性需求工程的标准化进程
- 跨学科促进:促进软件工程与可持续性研究的跨学科融合
- 需求工程阶段:在软件项目的需求分析和规格制定阶段
- 系统设计阶段:在架构设计和详细设计中考虑可持续性因素
- 项目评估:用于评估现有系统的可持续性水平
- 研究参考:作为可持续软件工程研究的基础参考资料
- 教育培训:在软件工程教育中传授可持续性概念和实践
论文引用了23篇重要文献,主要包括:
- Karlskrona Manifesto for green software engineering 5
- 可持续性需求工程的关键研究 4, 6, 7, 9
- 特定领域的可持续性需求研究 2, 10, 16, 17
- 系统性文献综述方法论 13
- 大语言模型技术 12, 23
总体评价:这是一篇在可持续软件工程领域具有重要贡献的高质量研究论文。通过系统性的文献综述方法,作者成功构建了全面的可持续性需求分类体系,填补了该领域的重要空白。虽然在实证验证和工具支持方面仍有改进空间,但其理论贡献和实践价值显著,为推动可持续软件工程的发展提供了重要的基础支撑。