System goals are the statements that, in the context of software requirements specification, capture how the software should behave. Many times, the understanding of stakeholders on what the system should do, as captured in the goals, can lead to different problems, from clearly contradicting goals, to more subtle situations in which the satisfaction of some goals inhibits the satisfaction of others. These latter issues, called goal divergences, are the subject of goal conflict analysis, which consists of identifying, assessing, and resolving divergences, as part of a more general activity known as goal refinement. While there exist techniques that, when requirements are expressed formally, can automatically identify and assess goal conflicts, there is currently no automated approach to support engineers in resolving identified divergences. In this paper, we present ACoRe, the first approach that automatically proposes potential resolutions to goal conflicts, in requirements specifications formally captured using linear-time temporal logic. ACoRe systematically explores syntactic modifications of the conflicting specifications, aiming at obtaining resolutions that disable previously identified conflicts, while preserving specification consistency. ACoRe integrates modern multi-objective search algorithms (in particular, NSGA-III, WBGA, and AMOSA) to produce resolutions that maintain coherence with the original conflicting specification, by searching for specifications that are either syntactically or semantically similar to the original specification. We assess ACoRe on 25 requirements specifications taken from the literature. We show that ACoRe can successfully produce various conflict resolutions for each of the analyzed case studies, including resolutions that resemble specification repairs manually provided as part of conflict analyses.
翻译:系统目标是软件需求规格说明中捕获软件应如何行为的陈述。很多时候,利益相关者对系统应实现目标的理解会导致各种问题,从明显矛盾的目标,到满足某些目标会抑制其他目标满足的更微妙情形。后者称为目标分歧,是目标冲突分析的主题,该分析包括识别、评估和解决分歧,作为更广泛活动“目标细化”的一部分。虽然存在一些技术能够在需求以形式化方式表达时自动识别和评估目标冲突,但目前尚无自动化方法支持工程师解决已识别的分歧。在本文中,我们提出ACoRe——首个能够自动提出目标冲突潜在解决方案的方法,适用于使用线性时态逻辑形式化捕获的需求规格说明。ACoRe系统地探索冲突规格说明的句法修改,旨在获得禁用先前识别冲突的解决方案,同时保持规格说明的一致性。ACoRe集成了现代多目标搜索算法(特别是NSGA-III、WBGA和AMOSA),通过搜索与原始规格说明在句法或语义上相似的规格说明,生成保持与原始冲突规格说明一致性的解决方案。我们在25个取自文献的需求规格说明上评估了ACoRe。结果表明,ACoRe能够成功为每个分析案例生成多种冲突解决方案,包括类似于手工提供作为冲突分析一部分的规格说明修复方案。