In the realm of software development, the clarity, completeness, and comprehensiveness of requirements significantly impact the success of software systems. The Software Requirement Specification (SRS) document, a cornerstone of the software development life cycle, delineates both functional and nonfunctional requirements, playing a pivotal role in ensuring the quality and timely delivery of software projects. However, the inherent natural language representation of these requirements poses challenges, leading to potential misinterpretations and conflicts. This study addresses the need for conflict identification within requirements by delving into their semantic compositions and contextual meanings. Our research introduces an automated supervised conflict detection method known as the Supervised Semantic Similarity-based Conflict Detection Algorithm (S3CDA). This algorithm comprises two phases: identifying conflict candidates through textual similarity and employing semantic analysis to filter these conflicts. The similarity-based conflict detection involves leveraging sentence embeddings and cosine similarity measures to identify pertinent candidate requirements. Additionally, we present an unsupervised conflict detection algorithm, UnSupCDA, combining key components of S3CDA, tailored for unlabeled software requirements. Generalizability of our methods is tested across five SRS documents from diverse domains. Our experimental results demonstrate the efficacy of the proposed conflict detection strategy, achieving high accuracy in automated conflict identification.
翻译:在软件开发领域,需求的清晰性、完整性和全面性对软件系统的成功具有显著影响。软件需求规格说明书(SRS)作为软件开发周期的基石,界定了功能性与非功能性需求,在确保软件项目质量与按时交付中发挥关键作用。然而,这些需求固有的自然语言表征方式带来了挑战,可能导致误解与冲突。本研究通过深入剖析需求的语义构成与语境含义,致力于解决需求中冲突识别的需求。我们提出一种名为基于监督式语义相似度的冲突检测算法(S3CDA)的自动化监督式冲突检测方法。该算法包含两个阶段:通过文本相似度识别冲突候选,以及运用语义分析筛选这些冲突。基于相似度的冲突检测涉及利用句子嵌入与余弦相似度度量来识别相关候选需求。此外,我们提出一种无监督冲突检测算法UnSupCDA,该算法融合了S3CDA的核心组件,专为无标注的软件需求定制。我们通过来自不同领域的五个SRS文档测试了方法的泛化能力。实验结果表明,所提出的冲突检测策略在自动化冲突识别中实现了高准确率,展现出显著效果。