论文标题
基于迅速的几击学习方法,用于软件冲突检测
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.