一种基于模糊集的少样本学习软件冲突检测方法
A Prompt-based Few-shot Learning Approach to Software Conflict Detection
摘要:
软件需求规范(SRS)文档是软件开发生存周期的重要组成部分,概述了开发中的软件程序必须满足的需求。该文档通常由不同的利益相关者群体指定,并且会不断变化,因此维护文档和检测需求之间的冲突是软件开发中的一项重要任务。值得注意的是,早期没有在SRS文档中解决冲突的项目在开发生存周期的后期会面临相当多的问题。这些问题在时间和金钱方面产生了巨大的成本,这些成本往往成为不可逾越的障碍,最终导致软件项目的终止。因此,早期发现SRS冲突对项目的可持续性至关重要。冲突检测任务以多种方式进行,其中许多方式需要来自开发者的大量人工干预,或者需要访问大量标记的、特定于任务的训练数据。在这项工作中,我们提出了使用一个基于样本的学习方法来执行少样本学习的冲突检测。我们将我们的结果与使用预训练语言模型(如BERT及其变体)的监督学习方法进行了比较。我们的研究结果表明,仅用32个标记的示例进行提示,就可以在许多关键指标上达到与监督学习在训练集上的性能相似的性能水平。与许多其他冲突检测方法相比,我们对底层需求的类型没有任何假设,允许我们分析功能和非功能需求的配对。这使我们能够省略从数据集中过滤掉非功能性需求的潜在昂贵任务。
英文摘要:
A software requirement specification (SRS) document is an essential part of the software development life cycle which outlines the requirements that a software program in development must satisfy. This document is often specified by a diverse group of stakeholders and is subject to continual change, making the process of maintaining the document and detecting conflicts between requirements an essential task in software development. Notably, projects that do not address conflicts in the SRS document early on face considerable problems later in the development life cycle. These problems incur substantial costs in terms of time and money, and these costs often become insurmountable barriers that ultimately result in the termination of a software project altogether. As a result, early detection of SRS conflicts is critical to project sustainability. The conflict detection task is approached in numerous ways, many of which require a significant amount of manual intervention from developers, or require access to a large amount of labeled, task-specific training data. In this work, we propose using a prompt-based learning approach to perform few-shot learning for conflict detection. We compare our results to supervised learning approaches that use pretrained language models, such as BERT and its variants. Our results show that prompting with just 32 labeled examples can achieve a similar level of performance in many key metrics to that of supervised learning on training sets that are magnitudes larger in size. In contrast to many other conflict detection approaches, we make no assumptions about the type of underlying requirements, allowing us to analyze pairings of both functional and non-functional requirements. This allows us to omit the potentially expensive task of filtering out non-functional requirements from our dataset.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。