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系统探讨对相互矛盾的规格的修改,目的是获得消除先前已查明冲突的决议,同时保持规格的一致性。 ACoRee综合现代多目的搜索算法(特别是NSGA-III、WBGA和AMOSA),目前没有自动化地支持工程师分析所查明的分歧性分析。</s>