How Different is Test Case Prioritization for Open and Closed Source Projects?
改进的测试用例优先级意味着软件开发人员可以比平时更快地检测和修复更多的软件错误。但是,是否存在一个“最佳”优先级算法?或者,不同类型的项目是否应该有特殊的优先级?为了回答这些问题,本文对31个项目应用了9种优先级方案,这些项目从(a)高评价的开源Github项目到(b)计算科学软件到(c)闭源项目。我们发现,对开源项目最有效的优先级排序方法对闭源项目可能效果最差(反之亦然)。从这些实验中,我们得出结论:(a)总是对所有项目应用一个优先级方案是不明智的,因为(b)优先级需要调整到不同的项目类型。
2021-02-21 cs.SE
Towards Utility-based Prioritization of Requirements in Open Source Environments
Graz University of Technology(格拉茨工业大学);vogella GmbH(沃格拉有限公司);University of Helsinki(赫尔辛基大学)
Eclipse等开源项目中的需求工程面临着必须以一种或多或少不显眼的方式为各个贡献者的需求划分优先级的挑战。与传统的工业软件开发项目相比,开源平台的贡献者可以自己决定下一步要实现哪些需求。在这种情况下,优先化的主要作用是支持贡献者找出接下来要实现的最相关和最有趣的需求,从而避免耗时和低效的搜索过程。在本文中,我们将展示如何实用程序为基础的优先级方法可以用来支持贡献者在传统的以及在开源的需求工程方案。作为一个开源环境的例子,我们使用Bugzilla。在这种情况下,我们还展示了如何依赖关系可以考虑在基于效用的优先级排序过程。
2021-02-17 cs.AI cs.SE cs.SI
Machine Learning Techniques for Software Quality Assurance: A Survey
Karlsruhe Institute of Technology(卡尔斯鲁厄理工学院)
近年来,机器学习技术已经被应用到越来越多的应用领域,包括软件工程,特别是软件质量保证。重要的应用领域有,例如,软件缺陷预测或测试用例选择和优先级排序。预测大型软件系统中哪些组件在下一个版本中最有可能包含最多的错误的能力有助于更好地管理项目,包括早期估计可能的发布延迟,并提供指导纠正措施以提高软件质量。然而,发展强大的故障预测模型是一项具有挑战性的任务,许多技术已经在文献中提出。与评估软件系统中容易出现缺陷的部分密切相关的是如何选择测试用例并确定其优先级的问题,实际上,测试用例优先级已被广泛研究,以减少发现软件中回归所需的时间。在本调查中,我们讨论了故障预测和测试用例优先级排序的各种方法,并解释了在最近的研究中,用于故障预测的深度学习算法如何帮助弥合程序语义和故障预测特征之间的差距。我们还回顾了最近提出的测试用例优先级(TCP)的机器学习方法,以及它们降低回归测试成本而不会对故障检测能力产生负面影响的能力。
2021-04-29 cs.AI cs.SE
Enhancing User-Feedback Driven Requirements Prioritization
University of Cincinnati(辛辛那提大学);University of North Florida(北佛罗里达大学);Beijing Institute of Technology(北京理工大学);Hangzhou Normal University(杭州师范大学)
本文通过增强ReFeed方法,将需求优先级确定从独立实体转向相互关联,提升搜索基于解决方案的效果,实验显示改进方法在实际应用中表现更优。
2026-08-04 cs.SE
Towards Statistical Prioritization for Software Product Lines Testing
由于要考虑的产品数量的组合爆炸,软件产品线(SPL)本质上很难测试。为了减少要测试的产品的数量,已经提出了诸如组合交互作用测试的采样技术。它们通常从特征模型开始,并应用覆盖标准(例如成对特征交互或相异性)来生成易于处理的、故障查找的待测试配置列表。优先级也可以用于排序/生成这样的列表,优化覆盖标准或分配给特征的权重。然而,目前的采样/优先级技术几乎没有考虑到产品的行为。我们探讨如何统计测试的想法,使用模型(马尔可夫链)的基础上,可以用来提取配置的兴趣,根据他们的执行的可能性。这些执行被收集在特征转换系统中,紧凑地表示SPL行为。我们讨论了可能的情况下,并给出了一个例子说明的优先顺序的程序。
2014-01-23 cs.SE
Developer Prioritization in Bug Repositories
开发人员在开发过程中构建所有软件构件。现有的工作已经研究了软件仓库中的社会行为。在最重要的软件存储库之一缺陷存储库中,开发人员创建并更新缺陷报告以支持支持软件开发和维护。然而,以前的工作没有考虑开发人员在错误存储库中的优先级。在本文中,我们解决的问题,开发人员的优先级,其目的是排名的开发人员的贡献。我们主要探索两个方面,即在错误存储库中对开发人员的优先级进行建模,并使用我们的模型辅助预测任务。首先,我们模拟如何分配的优先级的开发人员的基础上的社会网络技术。研究了三个问题,包括开发人员在产品中的排名,随着时间的推移的演变,和嘈杂的评论的容忍度。其次,我们考虑利用开发人员优先级来改进bug存储库中的三个预测任务,即,错误分类、严重性识别和重新打开的错误预测。我们实证研究我们的模型和它的应用程序在Eclipse和Mozilla的错误库的性能。结果表明,开发人员优先级可以提供开发人员优先级的知识,以帮助软件任务,特别是错误分类的任务。
2017-04-16 cs.SE
Handling Numerous Stakeholders Requirements A Research Agenda and Preliminary Outcomes
本研究旨在设计与发展一种新的需求优先化方法,以分析与优先化软件产品回馈中所提到的涉众需求。本文介绍了博士研究议程和早期分析的初步成果。还概述了为实现目标结果而应遵循的拟议研究方法论的路线图。迄今为止的结果表明,需求优先级问题已经得到了广泛的研究,但是,在考虑处理大量众包需求的技术时,仍然存在差距。此外,需求优先级作为一个问题影响到软件工程以外的许多领域。因此,来自其他领域的知识对于软件工程领域的需求优先级实践是有用的。
2019-07-24 cs.SE
SAFFRON: A Semi-Automated Framework for Software Requirements Prioritization
由于当前软件开发方法的动态性质,需求的变化被接受并给予适当的考虑。然而,这引发了排名颠倒问题,涉及到根据涉众的反馈重新确定需求的优先级。由于大量的人类交互所花费的时间,它产生了巨大的成本。针对这一问题,本文提出了一个软件需求优先级半自动化框架SAFFRON。对于特定的需求,SAFFRON预测适当的利益相关者的评级,以减少人类的互动。最初,项目-项目协同过滤是用来估计新的和以前引出的需求之间的相似性。利用这种相似性,确定最有可能对需求进行评级的利益相关者。然后,基于潜在因素模型的协同过滤被用来预测这些利益相关者的评级。在RALIC数据集上实现并测试了该方法。结果表明,与现有技术方法类似,与地面实况一致相关。此外,SAFFRON需要减少13.5-27%的人工交互来重新确定需求的优先级。
2017-12-31 cs.SE
Integrating goals after prioritization and evaluation-A Goal-oriented requirements engineering method
需求工程中的决策支持系统在软件开发生存周期中起着重要的作用。在需求工程阶段,功能需求和非功能需求之间的关系往往在解决冲突或达成决策方面起着至关重要的作用。面向目标的需求工程(GORE)方法对解决这些问题进行了很好的尝试,这有助于决策支持。我们提出了一个GORE方法-集成目标后的优先级和评估(IGAPE)。该方法是半正式的,因此确保了利益攸关方的积极参与。本文详细阐述了IGAPE方法的各个步骤。IGAPE的输出,然后给出作为输入的决策支持系统,它利用层次分析法(AHP)和技术的顺序偏好的相似理想的解决方案(TOPSIS)。IGAPE与AHP和TOPSIS的集成将清楚地为需求工程阶段的各种决策提供依据。该方法是说明了电子商务应用程序,并通过专家分析方法进行了验证。
2014-12-08 cs.SE
Interval Valued Trapezoidal Neutrosophic Set for Prioritization of Non-functional Requirements
BML Munjal University(BML Munjal大学)
本文讨论了梯形模糊数(TrFN)、区间直觉模糊数(IVIFN)、模糊集及其运算法则、梯形模糊集(TrNS)及其运算法则。将区间值梯形中性集与区间值梯形中性集相结合,提出了区间值梯形中性集,并给出了其运算法则。本文还提出了建议的区间值梯形中性数(IVTrNN)的得分和精度函数。然后,引入区间值梯形多项式加权算术平均(IVTrNWAA)算子,将单位实数区间内的梯形多项式信息进行组合;最后,开发了一种方法来处理的问题,在多属性决策(MADM)环境中使用IVTrNWAA运营商其次是NFR优先级的数值例子来说明所开发的方法的相关性。
2019-05-07 cs.AI cs.NE cs.SE
Self-Admitted Technical Debt in Scientific Software: Prioritization, Sentiment, and Propagation Across Artifacts
Boise State University(博伊西州立大学);Oak Ridge National Laboratory(橡树岭国家实验室)
研究科学软件中自我承认技术债务的优先级、情感、持久性和跨工件传播,发现注释、提交和拉取请求中的SATD优先级高于问题,负面情感增加紧迫性,但移除和解决率低于开源软件平均水平。
2026-06-29 cs.SE
Team Diversity Promotes Software Fairness: An Experiment on Fairness-Aware Requirements Prioritization
UFRPE(累西腓联邦大学);University of Calgary(卡尔加里大学);Dalhousie University(达尔豪斯大学);University of Hawaii at Manoa(夏威夷大学马诺阿分校)
研究探讨了软件团队多样性对需求优先级排序中公平意识行为的影响,发现多样性团队更一致地拒绝存在公平风险的故事,且决策理由更强调包容性和伦理责任。
2026-03-12 cs.SE
Code Coverage Based Test Case Selection and Prioritization
回归测试的目的,是在对现有软件作出多项修订或改动后,确保软件能达到预期的功能。回归测试或可透过隐藏软件在功能性及非功能性应用方面的回归或软件错误,以证明经修订的软件的质素。事实上,测试用例集的维护是巨大的,因为它需要在大规模的测试用例上投入大量的时间和金钱。因此,最小化测试集成为减少回归测试预算的必要条件。准确地说,这篇研究论文希望提出一种创新的方法,有效地选择和优先级的测试用例,作为回报,可能会获得最大的代码平均。
2013-12-07 cs.SE
Prioritizing Software Requirements Using Large Language Models
本文提出一个基于AI智能体和提示工程的网络工具,利用大型语言模型自动化敏捷需求优先级排序,以在时间和预算约束下满足利益相关者需求,并开源原型代码。
2024-04-05 cs.SE
Dynamic Test Case Prioritization in Industrial Test Result Datasets
本文提出一种结合静态与动态算法的测试用例优先级排序方案,利用条件概率动态调整执行顺序,在工业数据集上验证其可提升静态算法性能,尤其在存在失败相关性时。
2024-02-05 cs.SE
A Collaborative Filtering Recommender System for Test Case Prioritization in Web Applications
使用软件系统的相关度量可以改进各种软件工程任务,但是识别度量之间的关系并不简单,并且可能非常耗时。推荐系统可以帮助这个决策过程,许多应用程序已经利用这些系统来提高其应用程序的性能。为了研究推荐系统在回归测试中的潜在优势,我们实现了一个基于项目的协同过滤推荐系统,该系统使用用户交互数据和应用程序更改历史信息来开发测试用例优先级排序技术。为了评估我们的方法,我们进行了实证研究,使用三个Web应用程序的多个版本,并比较了四个控制技术。我们的研究结果表明,我们的推荐系统可以帮助提高测试优先级的有效性。
2018-01-20 cs.SE
Technical Debt Prioritization: State of the Art. A Systematic Literature Review
背景软件公司需要管理和重构技术债务问题。因此,有必要了解重构技术债务是否以及何时应该优先于开发功能或修复错误。Objective.本研究的目的是调查现有的知识体系在软件工程,以了解技术债务优先级的方法已被提出在研究和工业。法我们对截至2018年发表的384篇独特论文进行了系统性文献综述,遵循软件工程中应用的综合方法。我们纳入了38项主要研究。结果已经提出了不同的方法来确定技术债务的优先次序,所有这些方法都有不同的目标和不同的标准。拟议的措施只捕捉了在实践中用于定性地确定技术债务优先次序的众多因素中的一小部分。我们报告了这些因素的影响图。然而,缺乏一套经验性的、经过验证的工具。结论我们注意到,技术性的债务优先级研究是初步的,在什么是重要因素以及如何衡量这些因素方面没有达成共识。因此,我们不能认为目前的研究结论,在本文中,我们概述了必要的未来调查的不同方向。
2020-01-30 cs.SE
Evaluating Search-Based Software Microbenchmark Prioritization
针对微基准测试运行耗时的问题,该研究评估基于搜索的微基准优先级排序技术,发现简单的历史性能贪心方法比复杂的覆盖率方法更适配微基准测试。
2024-04-18 cs.SE
Reinforcement Learning for Test Case Prioritization
Instituto Superior Técnico, Universidade de Lisboa(里斯本大学高等技术学院);BNP Paribas(法国巴黎银行)
在现代软件工程中,持续集成(CI)已经成为系统地管理软件开发的生存周期的一个不可缺少的步骤。大公司努力在有用的时间内保持管道的更新和运行,因为大量的更改和添加功能,这些功能是建立在彼此之上的,并且有几个开发人员在不同的平台上工作。与这样的软件变更相关,总是有一个强大的测试组件。随着团队和项目的增长,详尽的测试很快就变得不受欢迎,变得坚定地选择最相关的测试用例,而不影响软件质量。本文扩展了最近的研究应用强化学习优化测试策略。我们测试它的能力,以适应新的环境,通过测试从金融机构提取的新数据,产生超过$0.6$使用网络近似器和测试用例故障奖励的故障检测(NAPFD)的归一化百分比。此外,我们研究了使用决策树(DT)近似器作为记忆表示模型的影响,相对于人工神经网络,它未能产生显着的改进。
2020-12-18 cs.AI cs.LG cs.SE
Tracy: A Business-driven Technical Debt Prioritization Framework
技术债是软件开发中普遍存在的问题。软件开发团队必须优先考虑债务项目,并确定他们是否应该在任何时候解决债务或开发新功能。本文介绍了“特雷西”,一个框架,优先级的技术债务使用业务驱动的方法建立在业务流程之上。当前阶段的建议框架是在设计科学研究的第三阶段,这通常是分为探索,工程和评估阶段的开始。勘探和工程阶段有来自三家公司12个不同小组的49名专业人员参加。初步评估表明,所提出的框架是一致的,其结构和结果有助于业务驱动的决策技术债务优先级。
2019-07-31 cs.SE
Automating System Test Case Classification and Prioritization for Use Case-Driven Testing in Product Lines
在许多软件开发环境中,产品线工程(PLE)是一个至关重要的实践,在这些环境中,软件系统是复杂的,并为具有不同需求的多个客户开发。同时,许多开发过程都是用例驱动的,这强烈地影响了他们的需求工程和系统测试实践。在本文中,我们提出,应用,并评估一个自动化的系统测试用例分类和优先级的方法,专门针对系统测试的用例驱动的开发的产品系列的背景下。我们的方法提供:(i)自动化支持对产品族中的新产品、与先前产品相关联的相关且有效的系统测试用例进行分类,以及(ii)使用诸如产品族中的需求的故障倾向性和需求波动性的多个风险因素来自动化系统测试用例的优先级排序。我们的评估是在汽车领域的工业产品系列的背景下进行的。结果提供了经验证据,我们提出了一个实用的和有益的方法来分类和优先级的工业产品线的系统测试用例。
2020-06-17 cs.SE
Neural Network Embeddings for Test Case Prioritization
Instituto Superior Técnico, Universidade de Lisboa(里斯本大学高等技术学院);BNP Paribas(法国巴黎银行)
在现代软件工程中,持续集成(CI)已经成为系统地管理软件开发的生存周期的一个不可缺少的步骤。大公司努力在有用的时间内保持管道的更新和运行,因为大量的更改和添加功能,这些功能是建立在彼此之上的,并且有几个开发人员在不同的平台上工作。与这样的软件变更相关,总是有一个强大的测试组件。随着团队和项目的增长,详尽的测试很快就变得不受欢迎,变得坚定地选择最相关的测试用例,而不影响软件质量。我们已经开发了一个新的工具,称为神经网络嵌入测试用例优先级(NNE-TCP)是一种新的机器学习(ML)框架,分析哪些文件被修改时,有一个测试状态转换,并学习这些文件和测试之间的关系,通过将它们映射到多维向量,并按相似性分组。当进行新的更改时,更有可能链接到修改的文件的测试将被优先考虑,从而减少查找新引入的故障所需的资源。此外,NNE-TCP支持低维空间中的实体可视化,允许通过相似性对文件和测试进行分组的其他方式,并减少冗余。通过应用NNE-TCP,我们第一次表明,修改后的文件和测试之间的连接是相关的,相对于其他传统方法的竞争力。
2020-12-21 cs.AI cs.LG cs.SE
Towards Multi-Criteria Prioritization of Best Practices in Research Artifact Sharing
众所周知,研究成果共享可以加强科学研究的透明度。然而,在缺乏共同的学科特定的准则,工件评估,主观和相互冲突的期望可能会发生,威胁工件质量。在本文中,我们讨论了我们的初步想法,一个框架的基础上,质量管理原则(5W2H),可以帮助建立共同的准则,工件的评估和共享。此外,使用层次分析法,我们讨论了如何研究社区可以共同努力,以帮助指导方针的适当性的研究优先事项。这些组合的方法构成了一个新颖的软件工程研究,可以促进研究软件的可持续性。
2021-09-06 cs.SE
How Do Static and Dynamic Test Case Prioritization Techniques Perform on Modern Software Systems? An Extensive Study on GitHub Projects
测试用例优先级(TCP)是一种越来越重要的回归测试技术,用于根据预定义的目标重新排序测试用例,特别是随着敏捷实践的采用。为了更好地理解这些技术,我们进行了第一次广泛的研究,旨在经验评估四个静态TCP技术,比较他们与国家的研究动态TCP技术在几个质量指标。这项研究是在58个包含714个KLoC的真实Java程序上进行的,并得出了几个值得注意的观察结果。首先,我们在两个有效性指标(平均检测到的故障百分比APFD和成本认知APFDc)的结果表明,在测试类的粒度,这些指标往往是相关的,但这种相关性并不保持在测试方法的粒度。其次,我们的分析表明,静态技术可以令人惊讶的有效,特别是当测量APFDc。第三,我们发现,TCP技术往往表现得更好的较大的程序,但程序的大小并不影响技术之间的比较性能指标。第四,软件的演变并没有显着影响TCP技术之间的比较性能的结果。第五,在典型的实验设置下,使用的突变体的数量和类型都不会显著影响TCP有效性的测量。最后,我们的相似性分析表明,高度优先级的测试用例往往会发现不同的故障。
2018-06-26 cs.SE
Lessons learned from replicating a study on information-retrieval based test case prioritization
目的:在这项研究中,我们的目标是复制基于人工制品的研究软件测试,以解决差距。我们的重点是(a)提供一个复制的一步一步的指南,反映复制人工制品为基础的测试研究时的挑战,(b)评估复制的研究有关其有效性和鲁棒性的研究结果。方法:我们复制了Kwon等人的测试用例优先级排序技术。我们使用四个程序复制了原始研究,两个来自原始研究,两个新程序。复制研究是使用Python实现的,以支持未来的复制。结果如下:确定了促进复制的各种一般因素,如:(1)文件的重要性;(2)需要原始作者的帮助;(3)维护开放源码储存库的问题(例如,关于所需的软件依赖性);(4)脚本的可用性。我们还提出了一些针对该研究及其背景的观察结果,例如使用不同突变工具和突变体生成策略的见解。结论:我们的结论是,Kwon等人的研究是可复制的小型和中型程序,并可以自动化,以方便软件从业人员,所需的信息的可用性。
2022-04-13 cs.SE
TPSQLi: Test Prioritization for SQL Injection Vulnerability Detection in Web Applications
本文提出了一种针对Web应用SQL注入漏洞的新型测试优先级排序方法TPSQLi,通过利用先前的测试结果动态调整后续测试的防御强度向量,优化测试工作流程,从而有效提升了漏洞检测与缓解的效率。
2025-09-13 cs.CR cs.SE
User-Centric Requirements Prioritization in mHealth Applications: Insights from a Discrete Choice Experiment
Monash University(蒙纳士大学);Deakin University(迪肯大学);Swinburne University of Technology(斯威本科技大学)
本研究通过离散选择实验分析mHealth应用用户偏好,揭示影响适应设计采用的关键因素,为软件工程中的需求优先级确定提供指导。
2026-01-08 cs.SE
Assisted Requirements Selection by Clustering
本文提出将 MoSCoW 方法与聚类分析结合辅助需求选择,并在含20、50和100项需求的三个案例中验证其能有效识别核心需求集。
2024-01-23 cs.SE
An Investigation into Inconsistency of Software Vulnerability Severity across Data Sources
软件漏洞(SV)严重性评估是通知SV补救和分类的重要任务。SV严重性分数的排名通常用于建议修补工作的优先级。然而,严重性评估是一项困难且主观的手动任务,它依赖于专业知识、知识和标准化的报告方案。因此,执行独立分析的不同数据源可能会提供相互冲突的严重性评级。这些数据源之间的不一致性会影响严重性评估数据的可靠性,从而影响SV优先级排序和修复。在本研究中,我们调查了SV报告生命周期中严重度等级的不一致性。我们的分析有助于描述此问题的性质,识别相关因素,并确定不一致性对下游任务的影响。我们的研究结果观察到,SV的严重程度往往缺乏考虑或被低估,在初始报告,这样的SV因此得到较低的优先级。我们确定了六个潜在的属性,与这种误判,并表明,严重程度报告计划的不一致,可以严重降低下游严重程度预测的性能高达77%。我们的研究结果有助于提高对SV严重性数据不一致的认识,并引起人们对这一数据质量问题的关注。这些见解可以帮助开发人员更好地考虑SV严重性数据源,并提高后续SV优先级的可靠性。此外,我们鼓励研究人员更多地关注SV严重程度数据的选择。
2022-01-16 cs.CR cs.SE
Test Case Selection and Prioritization Using Machine Learning: A Systematic Literature Review
回归测试是确保软件代码变更不会对现有功能产生不利影响的基本活动。随着持续集成(CI)在软件项目中的广泛采用,这增加了运行软件构建的频率,运行所有测试可能是耗时和资源密集型的。为了缓解这个问题,已经提出了测试用例选择和优先级(TSP)技术,通过选择和优先级的测试用例,以提供早期的反馈给开发人员,以改善回归测试。近年来,研究人员依靠机器学习(ML)技术来实现有效的TSP(基于ML的TSP)。这些技术有助于将来自部分和不完善来源的测试用例信息组合成准确的预测模型。这项工作进行了系统的文献综述,重点是基于ML的TSP技术,旨在进行深入分析的最先进的,从而获得有关未来的研究途径的见解。为此,我们分析了2006年至2020年发表的29项主要研究,这些研究是通过系统和记录的过程确定的。本文讨论了五个研究问题,这些问题涉及基于ML的TSP技术的变化以及用于训练和测试ML模型的特征集,用于评估技术的替代指标,技术性能以及已发表研究的可重复性。我们总结了与我们的研究问题相关的结果,在一个高层次的总结,可用于分类未来TSP研究的分类。
2021-10-05 cs.SE
CAPE - Context-Aware Prioritization Engine for Vulnerability Scoring and Management
Colorado State University(科罗拉多州立大学)
该研究提出了上下文感知优先级引擎(CAPE)框架,通过补充部署相关证据分析漏洞的可触达性、中心性和可利用性,在30个开源智能体应用程序的6138个CVE评估中,其优先级排序比CVSS、EPSS、KEV等基线更准确。
2026-10-12 cs.CR cs.SE
Fuzzy Logic Approach for Threat Prioritization in Agile Security Framework using DREAD Model
对于一个定性的系统,健全的安全实践必须是贯穿整个软件生命周期的关键部分。此外,敏捷软件开发为克服开发人员在传统开发过程中面临的问题铺平了道路。在给定的文件中,我们正在使用一个敏捷的安全框架,是与敏捷过程的做法兼容,并继承了安全工程活动的好处,在风险评估和威胁优先级的形式。DREAD模型是处理与安全威胁相关的日益增长的风险的最流行的技术之一。它用于对滥用者故事中确定的威胁风险进行评级。在这个模型中,威胁需要通过精确的截止值来定义。然而,这种精确的分布并不适合于风险分类,因为风险的性质是模糊的,涉及高度的不确定性。鉴于这些风险因素,我们提出了一种新的模糊方法,使用DREAD模型计算风险水平,确保更好地评估不精确的概念。因此,它提供了在风险评级过程中纳入主观性和不确定性的能力。一个案例研究已经提出来说明和比较所提出的方法与现有的一个使用Matlab。
2013-12-24 cs.SE
Test Case Prioritization: A Snowballing Literature Review and TCPFramework with Approach Combinators
Wroclaw University of Science and Technology(沃拉布大学科学与技术学院)
本文通过雪球文献综述和TCP框架提出了一种新的测试用例优先级排序方法,通过方法组合器实现了高效且性能优异的回归测试优化。
2026-03-04 cs.AI cs.SE
Incorporating fault-proneness estimations into coverage-based test case prioritization methods
内容:在软件程序的开发过程中,回归测试用于确保软件在更新源代码后保持正确的行为。随着测试用例数量的增加,这种回归测试随着时间的推移变得昂贵,并且为了尽快执行故障检测测试用例,对测试用例进行优先级排序是有意义的。有许多基于覆盖率的测试用例优先级(TCP)方法只使用代码覆盖率数据来确定测试用例的优先级。通过将代码单元的错误倾向性估计结合到基于覆盖率的TCP方法中,我们可以改进此类技术。目的:在本文中,我们的目标是提出一种方法,提高覆盖率为基础的TCP方法,通过考虑代码单元的故障倾向性分布。此外,我们提出的实证研究的结果表明,使用我们提出的方法显着提高了额外的策略,这是一个广泛使用的基于覆盖的TCP方法。方法:在这项研究中提出的方法使用的错误历史的软件,以引入缺陷预测方法来学习神经网络模型。然后,该模型被用来估计每个区域的源代码的故障倾向,然后将估计纳入基于覆盖率的TCP方法。我们提出的方法是一个一般的想法,可以应用到许多基于覆盖的方法,如额外的和总的TCP方法。结果如下:所提出的方法进行评估的数据集收集的开发历史的五个真实世界的项目,包括357个版本。实验表明,使用适当的错误历史可以改善基于覆盖率的TCP方法。
2020-02-16 cs.SE
An Empirical Evaluation of White-box and Black-box Test Case Prioritization Techniques in CPSs Modeled in Simulink
针对Simulink建模的CPS测试用例执行耗时的问题,本文通过实证比较11种白盒与黑盒测试用例优先级排序技术,发现白盒技术略优、黑盒技术更快,且总体贪心方法在大模型中表现更佳,为Simulink模型测试优化提供参考。
2025-04-14 cs.SE
Technical Debt Friction for Maintenance Prioritization: An Industrial Multi-Case Study
SINTEF(辛特夫);University of Oslo(奥斯陆大学);CodeScene;Lund University(隆德大学)
提出技术债务摩擦概念,通过多案例工业研究验证其能帮助识别维护痛点,与代码健康等互补,为维护优先级提供决策支持。
2026-07-03 cs.SE
Improving Merge Pipeline Throughput in Continuous Integration via Pull Request Prioritization
本文提出利用历史构建数据、PR元数据和上下文信息预测构建成功率,动态优先排序可能通过的PR,以优化合并流水线顺序,显著提升持续集成吞吐量且不依赖特定构建系统。
2025-08-11 cs.SE
Applying Large Language Models API to Issue Classification Problem
Grand Canyon University(大峡谷大学);Northern Arizona University(北亚利桑那大学)
本研究提出一种基于GPT和少样本微调的自动化方法,用于在较小数据集上可靠地进行软件工程问题报告的分类与优先级排序,模型在精确率、召回率和F1分数上均取得优异表现。
2024-01-09 cs.AI cs.CL cs.LG
Feature-Interaction Aware Configuration Prioritization for Configurable Code
在一个可配置的软件系统中,功能之间的意外交互会导致大多数错误。详尽地分析所有指数数量的可能配置是成本过高的。因此,已经提出了各种采样技术来系统地缩小要分析的合法配置的指数数量。由于分析所有选定的配置可能需要大量的工作,基于故障的配置优先级,有助于更早地检测故障,可以在质量保证方面产生实际的好处。在本文中,我们提出了CoPro,一种新的配方功能交互错误通过共同的程序实体启用/禁用的功能。利用这一点,我们开发了一个有效的功能交互感知配置优先级技术的可配置系统的配置排名根据其潜在的错误总数。我们进行了几项实验来评估CoPro在公共基准测试中检测配置相关错误的能力。我们发现,当我们在高级采样算法上添加它们时,CoPro的性能优于最先进的配置优先级技术。在78%的情况下,CoPro将错误配置排在结果列表的前3位。有趣的是,CoPro能够检测到17个尚未发现的功能交互错误。
2019-11-18 cs.SE
Scalable and Accurate Test Case Prioritization in Continuous Integration Contexts
针对持续集成中回归测试耗时且现有机器学习TCP技术评估不足的问题,提出一种捕获CI数据源的模型,定义综合特征集,并在25个开源系统上收集数据,全面评估了基于ML的TCP的有效性及权衡。
2022-04-05 cs.SE
ChatGPT Prompt Patterns for Improving Code Quality, Refactoring, Requirements Elicitation, and Software Design
Vanderbilt University(范德堡大学)
本文以模式的形式提出了软件工程的快速设计技术,以解决使用大语言模型(LLM)时的常见问题,例如ChatGPT自动化常见的软件工程活动,例如确保代码与第三方库解耦,并在实现之前模拟Web应用程序API。本文对软件工程中应用LLM的研究提供了两点贡献。首先,它为软件工程提供了一个模式目录,该目录根据模式解决的问题类型对模式进行分类。其次,它探讨了几个提示模式,已被应用于改善需求获取,快速原型,代码质量,重构和系统设计。
2023-03-11 cs.AI cs.SE
Neurosymbolic Auditing of Natural-Language Software Requirements
Stevens Institute of Technology(史蒂文斯理工学院)
本文提出神经符号方法用于审计自然语言软件需求,通过形式逻辑转换和SMT求解器检测歧义与不一致,提升医疗设备软件需求的严谨性。
2026-05-13 cs.AI cs.SE
Requirements Engineering Framework for Human-centered Artificial Intelligence Software Systems
Deakin University(迪肯大学);Monash University(莫纳什大学);CSIRO’s Data 61(澳大利亚联邦科学与工业研究组织数据61研究所)
本文提出了一个基于以人为本的AI指南和用户调查的需求工程框架,包含需求目录和概念模型,通过案例研究证明其能有效帮助项目团队理解并捕获以人为本的需求。
2023-05-18 cs.AI cs.SE
Assessing Test Case Prioritization on Real Faults and Mutants
测试用例优先级(TCP)是回归测试的一个重要组成部分,它允许更早地检测故障或帮助减少测试时间和成本。虽然研究文献中存在几种TCP方法,但越来越多的研究已经针对称为突变体的合成软件缺陷对其进行了评估。因此,目前尚不清楚在何种程度上突变体上的TCP性能将代表在真实故障上实现的性能。为了回答这个基本问题,我们进行了第一次实证研究,比较TCP技术应用于现实世界和突变故障的性能。我们的研究背景包括八种经过充分研究的TCP方法,35k+突变故障和Defects4J数据集中五个Java系统的357个真实故障。我们的研究结果表明,所研究的TCP技术突变体的相对性能可能不会强烈相关的性能上真正的故障,这取决于属性的主题程序。这表明,在某些情况下,在一组突变体上表现最好的技术在实际应用于实际故障时可能不是最好的技术。我们还说明,这些相关性不同的突变体所产生的不同运营商,这取决于所选择的运营商是否反映一个主题程序的典型故障。这突出了开发针对特定程序域的变异算子的重要性,特别是对于TCP。
2018-09-18 cs.SE
Formalising Software Requirements using Large Language Models
Department of Computer Science, Maynooth University, Ireland(计算机科学系,迈诺特大学,爱尔兰)
本文介绍VERIFAI项目,该项目结合NLP、本体、相似制品复用、大语言模型与AI,实现软件需求形式化规约自动生成及全流程可追溯,解决相关验证与追溯难题。
2025-06-12 cs.AI cs.SE
Comparative Study of Machine Learning Test Case Prioritization for Continuous Integration Testing
Simula Research Laboratory(西穆拉研究实验室)
越来越多的研究表明,机器学习有潜力解决复杂的软件测试挑战。其中一个挑战与持续集成测试有关,持续集成测试是高度时间约束的,并且会从迭代代码提交和测试运行中生成大量数据。在这样的设置中,我们可以使用大量的测试数据来训练机器学习预测器,以识别能够加速检测代码集成期间引入的回归错误的测试用例。然而,不同的机器学习模型可以具有不同的故障预测性能,这取决于连续集成测试的上下文和参数,例如可用于连续集成周期的可变时间预算,或者用于学习以优先化失败测试用例的测试执行历史的大小。现有的测试用例优先级的研究很少研究这两个因素,这是必不可少的持续集成实践。在这项研究中,我们进行了全面的比较故障预测性能的机器学习方法,在文献中的测试用例优先级任务表现出最好的性能。我们评估的准确性的分类器在预测故障检测测试的连续集成时间预算的不同值和不同长度的测试历史用于训练分类器。在评估中,我们使用来自持续集成实践的真实工业数据集。结果表明,不同的机器学习模型具有不同的性能,用于模型训练的测试历史的大小和不同的时间预算可用于测试用例的执行。我们的研究结果表明,机器学习方法的测试优先级在持续集成测试应仔细配置,以实现最佳性能。
2022-04-22 cs.LG cs.SE
Test Case Prioritization Using Test Similarities
软件测试中的一个经典的启发式方法是奖励多样性,这意味着必须为那些与已经优先化的测试用例差异最大的测试用例分配更高的优先级。这种方法通常被称为基于相似性的测试优先级(SBTP),可以使用各种技术来实现。我们研究的目的是调查SBTP是否比随机排列更有效地发现缺陷,以及确定哪种SBTP实现会导致更好的结果。为了实现我们的目标,我们从文献中实现了五种不同的技术,并使用defects 4j数据集进行了实验,该数据集包含来自六个真实世界的开源Java程序的395个真实故障。研究结果表明,在过程的早期运行最不相似的测试用例比随机排列更有效(Vargha-Delaney A [VDA]:使用归一化压缩距离观察到的0.76-0.99)。在有效性方面,没有发现任何技术更优。局部敏感散列在很小程度上不如其他SBTP技术有效(VDA:与归一化压缩距离相比观察到0.38),但其速度大大优于其他技术(即,大约快5-111倍)。我们的研究结果让人想起一句著名的格言:“不要把所有的鸡蛋放在一个篮子里”。为了有效地消耗有限的测试预算,应该通过在测试过程的早期运行最不相似的测试用例,将其均匀地分布在系统的不同部分。
2018-09-01 cs.SE
Impact of requirements volatility on software architecture: How do software teams keep up with ever-changing requirements?
需求波动性是软件开发中的一个主要问题,它会导致更高的缺陷密度、项目延迟和成本超支等问题。软件体系结构指导着软件产品的总体愿景,是受需求波动影响最大的领域之一。由于关键的体系结构决策是根据手头的需求做出的,因此需求的变化可能导致体系结构的重大变化。随着敏捷软件开发的广泛采用,软件架构被设计为适应未来可能的变化。然而,必须谨慎管理这些变化,因为不必要和过度的变化可能带来负面影响。进行了探索性的案例研究,研究需求波动性对软件体系结构的影响。十五个半结构化的,主题访谈进行了欧洲软件公司。研究发现,沟通不畅,信息失真,外部依赖性的主要因素,导致需求波动和不充分的架构文档,无法跟踪设计的理由,并增加复杂性的主要影响的需求波动对软件架构。从软件团队的需求波动性的意识,因素有助于它,以及可能的方法来减轻其影响的见解将被用来提高在软件架构过程中的需求波动性的管理。
2019-04-17 cs.SE
A Noble Methodology for Users Work Process Driven Software Requirements for Smart Handheld Devices
需求工程是软件开发有效的关键因素。除了传统的软件要求,这是不太适合新兴的软件,如智能手持设备的软件。在需求工程的许多方面,传统软件和新兴软件是不相似的。传统软件的需求工程需要更多的研究,而新兴软件显然需要系统和深入的研究,以提高生产力,质量,风险管理和有效性。特别是,本文的结果表明,如何有效的需求工程可以提高在项目谈判,项目规划,管理功能蠕变,测试,缺陷,返工和产品质量。本文还展示了一种新的方法,这是专注于用户的工作过程适用于传统的软件和智能手持设备,如iPad的任何新型软件的需求引出。作为一个例子,本文展示了如何将该方法应用于基于iPad的软件的游戏组学生的软件要求。
2014-08-12 cs.SE
Towards auto-completion on software requirements statements
随着软件系统变得越来越复杂,现代软件开发需要更多地关注人类的观点,并积极参与开发团队的需求获取任务。在这种情况下,不完整或模糊的需求描述并不能指导好的软件产品的开发。我们假设文本自动完成功能提高了软件需求工件的质量。我们提出了这项研究的动机,相关的工作,我们的方法和未来的研究工作。
2021-06-25 cs.SE
Software Testing Models Against Information Security Requirements
对软件测试模型进行了综述和分类。对模型的选择提出了建议
2013-06-08 cs.SE
An Integer Programming Model for Embedding Social Values into Software Requirement Selection
现有的软件需求选择方法主要集中在优化软件产品的经济价值,而忽略了其社会价值及其对社会的长期影响。然而,社会价值观也很重要,需要在软件需求选择中加以考虑。此外,社会价值的软件需求可能会改变存在或不存在的其他需求,由于这些需求之间的价值依赖。这些依赖关系是不精确的,很难在软件项目中指定。本文提出了一种将社会价值观和社会价值观之间的依赖关系整合到软件需求选择中的可重用程序设计(IP)模型。我们进一步,占社会价值观的不精确性和它们之间的依赖关系,使用模糊图的代数结构。
2020-03-09 cs.SE
Towards Quantum Software Requirements Engineering
本文探讨量子软件需求工程与经典软件需求工程的差异,通过映射经典需求分类提出初步思考,并指出值得量子软件工程界关注的研究方向。
2023-09-23 cs.SE
Prioritizing Software Inspection Results using Static Profiling
静态软件检查工具作为一个附加的自动化软件检查步骤非常有用,可以很容易地集成到开发周期中,并有助于创建安全,可靠和高质量的代码。然而,这些工具的一个经常被引用的缺点是,它们生成过多的警告,包括由于近似分析技术而导致的许多误报。这种信息过载实际上限制了它们的有用性。在本文中,我们提出了ELAN,一种技术,可以帮助用户优先级的软件检查工具所产生的信息,基于需求驱动的计算的可能性,执行到达的警告报告的位置。该分析与文献中已知的其他优先级排序技术正交,例如严重程度和统计分析,以减少假阳性。我们评估我们的技术的可行性,使用一些案例研究,并评估我们的预测质量进行比较,通过动态分析获得的实际值。
2006-07-12 cs.SE