High quality software systems typically require a set of clear, complete and comprehensive requirements. In the process of software development life cycle, a software requirement specification (SRS) document lays the foundation of product development by defining the set of functional and nonfunctional requirements. It also improves the quality of software products and ensure timely delivery of the projects. These requirements are typically documented in natural language which might lead to misinterpretations and conflicts between the requirements. In this study, we aim to identify the conflicts in requirements by analyzing their semantic compositions and contextual meanings. We propose an approach for automatic conflict detection, which consists of two phases: identifying conflict candidates based on textual similarity, and using semantic analysis to filter the conflicts. The similarity-based conflict detection strategy involves finding the appropriate candidate requirements with the help of sentence embeddings and cosine similarity measures. Semantic conflict detection is an additional step applied over all the candidates identified in the first phase, where the useful information is extracted in the form of entities to be used for determining the overlapping portions of texts between the requirements. We test the generalizability of our approach using five SRS documents from different domains. Our experiments show that the proposed conflict detection strategy can capture the conflicts with high accuracy, and help automate the entire conflict detection process.
翻译:高质量的软件系统通常需要一套明确、完整和全面的要求。在软件开发生命周期过程中,软件要求规格(SRS)文件通过界定一套功能性和非功能性要求,为产品开发奠定了基础;还提高了软件产品的质量,确保了项目的及时交付。这些要求通常以自然语言记录,可能导致错误解释和要求之间的冲突。在本研究中,我们的目标是通过分析其语义构成和背景含义来查明要求中的冲突冲突。我们提出了自动冲突探测方法,其中包括两个阶段:根据文本相似性确定冲突候选人,并利用语义分析来过滤冲突。类似的冲突探测战略涉及在判决结合和类似措施的帮助下找到适当的候选人要求。对第一阶段确定的所有候选人都采用语义性冲突探测,在第一阶段以实体的形式提取有用的信息,用以确定要求之间相互重叠的文本部分。我们用五份SRS文件测试我们的方法的通用性,用文字相似性分析来过滤冲突。基于语言的语义分析战略,用高精确度来测量冲突,我们提出的汽车探测方法显示,用高精确性检测方法来检测冲突。我们提出的试验显示拟议的冲突过程。