Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
深度学习(DL)技术在许多具有挑战性的任务中被证明是有效的,并在实践中被广泛采用。然而,以前的工作表明,DL库,构建和执行DL模型的基础,包含错误,并可能导致严重的后果。不幸的是,现有的测试方法仍然不能全面地测试DL库。它们利用现有的训练模型,只在模型推理阶段检测错误。在这项工作中,我们提出松饼来解决这些问题。为此,Muffin应用了一种专门设计的模型模糊方法,该方法允许它生成不同的DL模型来探索目标库,而不是仅依赖于现有的训练模型。Muffin通过定制一组度量标准来测量不同DL库之间的不一致性,从而在模型训练阶段实现了差异测试。通过这种方式,Muffin可以最好地运用库代码来检测更多的bug。为了评估Muffin的有效性,我们对三个广泛使用的DL库进行了实验。结果表明,Muffin可以在流行的DL库的最新版本中检测到39个新错误,包括Tensorflow,CNTK和Theano。
2022-05-09 cs.SE
XAMT: Cross-Framework API Matching for Testing Deep Learning Libraries
本文提出跨框架模糊测试方法XAMT,通过匹配不同深度学习框架中功能等价的API并进行差分测试,在五个主流框架上检测出17个缺陷,弥补了框架内测试的不足。
2025-08-18 cs.SE
Modelling of Autosar Libraries for Large Scale Testing
我们展示了一个具体的方法和技术,基于模型的测试大型软件项目的快速检查工具,使用基于属性的规范。我们的规格是被测软件(SUT)的非常精确、状态完整的模型。在我们的方法中,我们定义(a)正式描述有效的函数调用序列(公共API),(b)后置条件,检查每个调用的有效性,(c)调用规范,定义和验证外部系统的相互作用(SUT调用外部API)。QuickCheck工具自动生成并执行这些规范中的测试。在商业上,这种方法和工具已被用于测试基于Autosar标准的工业开发的汽车库的大型部件。在本文中,我们使用Autosar指定的循环缓冲区来验证我们的方法,以证明QuickCheck基于模型的测试方法的能力。与商业QuickCheck模型相比,我们的示例很小,但忠实地解决了许多相同的挑战。
2017-03-20 cs.SE
Assessing Exception Handling Testing Practices in Open-Source Libraries
现代程序设计语言(例如,Java和C#)提供了将错误处理代码与常规代码分离的功能,旨在增强软件的可理解性和可维护性。然而,异常处理(EH)代码的结构,在这样的语言可能会导致多个,不同的,复杂的控制流,这可能会影响软件的可测试性。以前的研究报告,EH代码通常被忽视,没有得到很好的测试,它的误用可能导致可靠性下降和灾难性的故障。然而,很少有人知道测试实践和EH测试有效性之间的关系。在这项探索性研究中,我们(i)测量了EH测试关于代码覆盖(指令,分支和方法)标准的充分程度;(ii)通过测量其检测人工注入故障(即,突变体)。我们的研究是使用来自开源生态系统的27个长寿Java库的测试套件进行的。我们的研究结果表明,指令和分支内的$\mathtt{catch}$块和$\mathtt{throw}$指令覆盖较少,与整体指令和分支的统计意义。尽管如此,大多数研究的图书馆提出的测试套件能够检测到超过70%的注入故障。在这项研究中创建的总共12,331个突变体中,测试套件能够检测到其中的68%。
2021-05-02 cs.SE
Free Lunch for Testing: Fuzzing Deep-Learning Libraries from Open Source
深度学习(DL)系统可以让我们的生活变得更加轻松,因此越来越受到学术界和工业界的关注。同时,DL系统中的错误可能是灾难性的,甚至可能在安全关键应用中威胁到人类生命。迄今为止,大量的研究工作一直致力于测试DL模型。然而,有趣的是,测试底层DL库的工作仍然有限,这些库是构建、优化和运行DL模型的基础。一个潜在的原因是,底层DL库的测试生成可能相当具有挑战性,因为它们的公共API主要在Python中公开,由于动态类型,甚至很难自动确定API输入参数类型。在本文中,我们提出了FreeFuzz,第一种通过从开源中挖掘来模糊DL库的方法。更具体地说,FreeFuzz从三个不同的来源获得代码/模型:1)来自库文档的代码片段,2)库开发人员测试,以及3)野生的DL模型。然后,FreeFuzz自动运行所有收集的代码/模型,并使用插装来跟踪每个覆盖的API的动态信息,包括调用期间每个参数的类型和值,以及输入/输出张量的形状。最后,FreeFuzz将利用跟踪的动态信息对每个覆盖的API执行模糊测试。在PyTorch和TensorFlow这两个最流行的DL库上对FreeFuzz进行的广泛研究表明,FreeFuzz能够自动跟踪模糊1158个流行API的有效动态信息,比最先进的LEMON多9倍,开销比LEMON低3.5倍。到目前为止,FreeFuzz已经检测到PyTorch和TensorFlow的49个bug…
2022-02-25 cs.SE
Improving Tese Case Generation for Python Native Libraries Through Constraints on Input Data Structures
现代Python项目使用本机库执行计算函数,并提供Python接口以提高执行速度;因此,测试这些库对于项目的健壮性至关重要。一个挑战是,现有的方法使用覆盖率来指导生成,但原生库作为没有执行信息的Python代码的黑盒运行。另一个原因是动态二进制插装降低了测试性能,因为它需要同时监控本机库和Python虚拟机。为了解决这些挑战,在本文中,我们提出了一个自动化的测试用例生成方法,在Python代码层工作。我们的见解是,原生库中的许多路径条件是通过与VM交互来处理输入数据结构。在我们的方法中,我们仪器的Python解释器来监视本地库和VM之间的交互,派生结构上的约束,然后使用约束来指导测试用例生成。我们在一个名为PyCing的工具中实现了我们的方法,并将其应用于六个广泛使用的Python项目。实验结果表明,在结构约束指导下,PyCing能够覆盖比现有测试用例和最先进工具更多的执行路径。此外,使用测试框架Pytest中的检查器,PyCing可以识别10个Python接口中的分段错误和9个接口中的内存泄漏。我们的仪器策略对测试效率也有可接受的影响。
2022-06-28 cs.SE
Enhancing LLM-Based Test Generation by Eliminating Covered Code
University of Notre Dame(诺丁汉大学);Washington State University(华盛顿州立大学)
本文提出一种基于LLM的单元测试生成方法,通过上下文检索和迭代测试生成与代码消除,提升复杂方法的测试覆盖率。
2026-02-25 cs.AI cs.LG cs.SE
Subgraph-Oriented Testing for Deep Learning Libraries
本文提出 SORT,以真实模型计算图中的频繁 API 交互子图为对象并生成有效运行时输入,对不同硬件平台上的深度学习库进行差分测试,在 PyTorch 中发现 18 个精度缺陷。
2025-06-09 cs.SE
Human-AI Collaborative Game Testing with Vision Language Models
Zhengzhou University(郑州大学);University of the Arts London(伦敦艺术大学);Royal College of Art(皇家艺术学院)
本文研究了如何利用AI提升游戏测试效率,通过800个测试用例和276名参与者实验,发现AI辅助能显著提高缺陷识别,但AI错误会影响人类决策,强调优化人机协作的重要性。
2026-04-04 cs.AI cs.HC
Testing Deep Learning Libraries via Neurosymbolic Constraint Learning
North Carolina State University(北卡罗来纳州立大学);Cornell University(康奈尔大学)
Centaur通过神经符号约束学习技术,利用动态学习输入约束来测试深度学习库,提高了测试效率和覆盖率,发现多个新错误。
2026-01-21 cs.SE
Concolic Testing of JavaScript using Sparkplug
针对JavaScript原地混合符号测试缓慢复杂的问题,提出结合V8 Sparkplug与remill的跟踪增强方法,在160个Node.js库上以更短时间达到相当的覆盖率和缺陷检测效果。
2024-05-10 cs.SE
Decompose-ToM: Enhancing Theory of Mind Reasoning in Large Language Models through Simulation and Task Decomposition
NYU Abu Dhabi(纽约大学阿布扎比分校)
本研究针对大语言模型在复杂心理理论(ToM)任务上表现不佳的问题,借鉴认知心理学模拟理论提出Decompose-ToM推理算法,通过递归视角模拟和任务分解提升ToM推理能力,在多类任务上实现显著提升且无需额外训练。
2025-01-15 cs.AI cs.CL
Understanding API Usage and Testing: An Empirical Study of C Libraries
本研究针对21个流行C库的3061个客户端开展实证分析,发现库测试未匹配API实际使用热度,开发了LibProbe框架并证明可借助客户端测试提升库测试覆盖率。
2025-06-13 cs.SE
Constraint-Guided Unit Test Generation for Machine Learning Libraries
本文提出PynguinML,通过改进Pynguin测试生成器以利用从官方API文档提取的约束,为PyTorch和TensorFlow等ML库生成合规输入,显著提升测试有效性,代码覆盖率最高提升63.9%。
2025-10-10 cs.SE
A Tale of Two DL Cities: When Library Tests Meet Compiler
针对DL编译器模型加载阶段测试不足的问题,提出OPERA方法,迁移DL库测试知识并结合多样性测试优先级策略,在三款编译器上检测到170个未知缺陷,效率提升显著。
2024-08-14 cs.SE
Smoke Testing for Machine Learning: Simple Tests to Discover Severe Defects
TU Clausthal(克劳斯塔尔工业大学);University of Goettingen(哥廷根大学)
机器学习如今是软件应用程序中数据分析的标准技术。软件工程师需要适用于这些新型系统的质量保证技术。在这篇文章中,我们讨论了几十年来一直是教科书一部分的标准软件测试技术是否也适用于测试机器学习软件的问题。具体地说,我们试图确定通用的和简单的烟雾测试,这些测试可以用来断言基本函数可以在不崩溃的情况下执行。我们发现,我们可以得到这样的测试使用类似的技术等价类和边界值分析。此外,我们发现这些概念也可以应用于超参数,以进一步提高烟雾测试的质量。尽管我们的方法几乎是微不足道的,但我们能够在我们测试的所有三个机器学习库中找到错误,并在三个库中的两个库中找到严重错误。这表明,常见的软件测试技术在机器学习时代仍然有效,并且考虑如何使它们适应这种新的环境可以帮助发现和防止严重的错误,即使在成熟的机器学习库中。
2021-10-29 cs.LG cs.SE
Testing Deep Learning Library APIs via Cross-Framework Differential Fuzzing
The University of Queensland(昆士兰大学)
本文提出跨框架差分模糊测试方法Xamt,用于测试7个深度学习库的API,构建676个经验证的API组,识别出72个差异案例,其中25份已被开发者确认并修复。
2026-10-30 cs.SE
Evaluating the Effectiveness of Coverage-Guided Fuzzing for Testing Deep Learning Library APIs
本文提出FlashFuzz,利用LLM自动合成API级测试驱动程序,将覆盖率引导模糊测试有效应用于PyTorch和TensorFlow,显著提升覆盖率、有效率和生成速度,并发现42个未知缺陷。
2025-09-18 cs.SE
An Empirical Study of Library Usage and Dependency in Deep Learning Frameworks
Polytechnique Montreal(蒙特利尔理工学院);Queen’s University(女王大学)
深度学习(dl)的最新进展已经导致了几个dl软件库的发布,如pytorch,Caffe和TensorFlow,以帮助机器学习(ml)从业者开发和部署最先进的深度神经网络(DNN),但他们无法正确应对dl库中的限制,如测试或数据处理。在本文中,我们提出了一个定性和定量分析的最频繁的dl库组合,分布的dl库依赖性的ml工作流程,并制定了一套建议(i)硬件建设者更优化的加速器和(ii)库建设者更完善的未来版本。我们的研究基于1,484个开源深度学习项目,其中46,110个贡献者是根据他们的声誉选择的。首先,我们发现深度学习库的使用呈增长趋势。其次,我们强调了深度学习库的几种使用模式。此外,我们还发现了dl库与最常见的组合之间的依赖关系,我们发现pytorch和Scikit-learn以及Keras和TensorFlow是18%和14%的项目中最常见的组合。开发人员在相同的项目中使用两个或三个dl库,并且倾向于在相同的函数和相同的文件中使用不同的多个dl库。开发人员展示了使用各种深度学习库的模式,并且更喜欢参数少、目标简单的简单函数。最后,我们提出了研究人员,图书馆维护人员和硬件供应商的影响,我们的研究结果。
2022-11-28 cs.AI cs.SE
Enhancing Automated Unit Test Generation for NLP Libraries Using Large Language Models
Delft University of Technology(代尔夫特理工大学)
提出LLMSuite混合测试框架,结合自我改进提示与类级LLM推理,增强NLP库的自动化单元测试生成,显著提升覆盖率与突变得分。
2026-09-15 cs.SE
QSPE: Enumerating Skeletal Quantum Programs for Quantum Library Testing
Manufacturing Industry Chain Collaboration Industrial Software Key Laboratory of Sichuan Province(四川省制造业产业链协同工业软件重点实验室);Southwest Jiaotong University(西南交通大学);State Key Laboratory of Blockchain and Data Security(区块链与数据安全国家重点实验室);Zhejiang University(浙江大学);Kyushu University(九州大学);University of Luxembourg(卢森堡大学);Institute of AI for Industries(产业人工智能研究院)
QSPE通过差分测试原理和基于状态向量的验证方法,高效生成量子程序变体并检测编译错误,显著提升量子库测试的准确性与效率。
2026-01-17 cs.SE quant-ph
ATTest: Agent-Driven Tensor Testing for Deep Learning Library Modules
Nanjing University(南京大学);Nanjing University of Science and Technology(南京理工大学)
ATTest通过基于代理的框架生成深度学习库模块的高效单元测试,显著提升测试覆盖率和稳定性。
2026-02-15 cs.SE
Large Language Models are Edge-Case Fuzzers: Testing Deep Learning Libraries via FuzzGPT
本文提出 FuzzGPT 技术,通过微调和上下文学习引导大型语言模型合成异常程序以进行模糊测试,在 PyTorch 和 TensorFlow 上检测出 76 个漏洞,大幅超越 TitanFuzz。
2023-04-04 cs.SE
COMET: Coverage-guided Model Generation For Deep Learning Library Testing
The Hong Kong University of Science and Technology(香港科技大学);Guangzhou HKUST Fok Ying Tung Research Institute(广州香港科技大学霍英东研究院);University of Waterloo(滑铁卢大学);Huazhong University of Science and Technology(华中科技大学)
针对现有 DL 模型生成技术层 API 覆盖不足的问题,本文提出 COMET,利用变异算子、覆盖引导搜索与模型综合提升测试多样性,并在八个 DL 库中发现 32 个新缺陷。
2023-01-30 cs.AI cs.SE
Enhancing Software Development Process (ESDP) using Data Mining Integrated Environment
如今,重用现有的应用程序编程接口(API)、类库和框架已成为快速软件开发的基本需求。软件开发人员经常通过调用相应的API或库来重用它。但在这样做的时候,开发人员在搜索适当的代码段时通常会遇到不同的问题。在大多数情况下,API和库是复杂的,没有良好的结构或良好的文档记录。在线搜索引擎的搜索耗时长,但匹配的相关性不高,表示性不好。为了根据查询获得建议,我们可以使用搜索引擎或代码搜索引擎在线找到该片段。在某些情况下,依赖于数据库的搜索和基于远程Web服务器的挖掘存储库搜索给开发人员带来了问题。在代码搜索引擎上查找API建议通常会处理超大文件,最终会减慢软件开发过程。我们在整个工作过程中一直在寻找解决办法,并努力取得更好的结果。作为替代行动,我们已经实施了一个系统,我们称之为增强软件开发过程(ESDP)工具,该工具能够为开发人员提供一个高效的集成环境,更好地抽象和表示搜索结果,程序员需要从源代码中派生。我们还构建并应用了一个基于XML的丰富存储库,以从客户端的挖掘存储库中获得推荐,而无需与依赖于互联网的服务器进行交互,以节省复杂性和时间。我们使用基于图的表示为程序员或开发人员提供最相关的代码框架或映射。
2020-05-06 cs.SE
The Polyglot's Dilemma: Conformance Testing a Dozen Specs in as Many Languages
MongoDB Research(MongoDB 研究);MongoDB, Inc.(MongoDB 公司)
针对MongoDB十二种原生实现的客户端库一致性测试难题,提出基于YAML的统一测试格式,删除大量测试代码并降低了不一致缺陷发生率,同时总结了相关经验教训。
2026-08-19 cs.SE
QuSema: Detecting Silent Bugs in Quantum Libraries via Quantum-knowledge-enhanced Agents
Nanyang Technological University(南洋理工大学);Hong Kong University of Science and Technology(香港科技大学);Zhejiang University of Technology(浙江工业大学)
QuSema是一个利用量子语义和文档作为预言机的自主测试智能体,通过智能体循环检测量子库中的静默缺陷,在基准上优于现有工具并发现多个新缺陷。
2026-10-08 cs.AI cs.SE quant-ph
Fuzzing Deep-Learning Libraries via Automated Relational API Inference
越来越多的研究致力于DL模型测试。然而,在测试DL库方面的工作仍然有限,这些库是构建、训练和运行DL模型的基础。以前的模糊DL库工作只能为文档示例、开发人员测试或DL模型调用的API生成测试,留下大量未经测试的API。在本文中,我们提出了DeepREL,这是第一种自动推断关系API以实现更有效的DL库模糊化的方法。我们的基本假设是,对于被测的DL库,可能存在许多共享类似输入参数和输出的API;通过这种方式,我们可以很容易地从调用的API“借用”测试输入来测试其他关系API。此外,我们形式化的关系API的值等价和状态等价的概念,作为有效的错误发现的预言机。我们已经实现了DeepREL作为DL库的全自动端到端关系API推理和模糊技术,其1)基于API语法或语义信息自动推断潜在的API关系,2)合成用于调用关系API的具体测试程序,3)通过代表性测试输入验证推断的关系API,以及最后4)对经验证的关系API执行模糊化以发现潜在的不一致。我们对两个最流行的DL库PyTorch和TensorFlow的评估表明,DeepREL可以比最先进的FreeFuzz多覆盖157%的API。到目前为止,DeepREL总共检测到162个bug,其中106个已经被开发人员确认为以前未知的bug。令人惊讶的是,DeepREL在三个月的时间内检测到了整个PyTorch问题跟踪系统中13.5%的高优先级错误。此外,…
2022-07-12 cs.SE
An Empirical Study of Bugs in Data Visualization Libraries
The Hong Kong University of Science and Technology(香港科学与技术大学);University of Waterloo(滑铁卢大学);University of Waterloo Canada(滑铁卢大学加拿大)
本研究首次系统分析五个数据可视化库中的564个Bug,揭示不正确图表普遍存在且主要源于图形计算错误,并探索了视觉语言模型检测此类Bug的可行性,效果因提示而异。
2025-06-18 cs.CV cs.HC cs.SE
Fuzzing Automatic Differentiation in Deep-Learning Libraries
针对深度学习库中自动微分组件测试不足的问题,提出首个API级模糊测试器$\ abla$Fuzz,利用差分测试一阶及高阶梯度并过滤数值不稳定性误报,在四大主流库中检测出173个缺陷,显著优于现有方法。
2023-02-08 cs.SE
MASFuzzer: Fuzz Driver Generation and Adaptive Scheduling via Multidimensional API Sequences
Beihang University(北京航空航天大学);Jinan University(暨南大学)
MASFuzzer通过多维API序列生成和自适应调度策略提升软件库测试效率,实现更高的代码覆盖率和漏洞发现能力。
2026-04-20 cs.SE
Enhancing Fuzz Testing Efficiency through Automated Fuzz Target Generation
Faculty of Information Technology, Ton Duc Thang University(信息科技学院,通德盛大学)
本文提出通过静态分析库源代码自动提升模糊测试效率,重点在于自动化生成模糊目标并优化执行分析过程。
2026-01-17 cs.CR cs.SE
Enhancing Path-Oriented Test Data Generation Using Adaptive Random Testing Techniques
在本文中,我们已经开发了一种方法来产生测试数据的路径覆盖为基础的测试。这类测试的主要挑战在于它是否能够有效地构建这样一个测试套件,以尽量减少拒绝的数量。我们解决这个问题,一个新的分治的方法,基于自适应随机测试策略。我们的方法作为输入的可执行路径的约束,并计算一个紧密的过近似的相关子域使用动态域分区的方法。我们实现了这种方法,并得到了实验结果,显示了实际的好处相比,现有的方法。我们的方法产生较少的无效输入,并能够获得许多复杂的约束子域。
2017-11-29 cs.SE
The Seeds of the FUTURE Sprout from History: Fuzzing for Unveiling Vulnerabilities in Prospective Deep-Learning Libraries
针对现有模糊测试框架难以适配新兴深度学习库的问题,提出首个通用模糊测试框架FUTURE,通过利用历史漏洞微调LLM生成测试代码,在多个新库及PyTorch中检测出大量未知漏洞,显著提升检测与复现效果。
2024-12-11 cs.SE
Harnessing LLMs for Document-Guided Fuzzing of Python Libraries
The University of Queensland(昆士兰大学);Texas A&M University–Kingsville(德克萨斯农工大学金斯维尔分校);Central Queensland University(中昆士兰大学);University of Illinois Chicago(伊利诺伊大学芝加哥分校)
本文提出VistaFuzz,一种基于本地开源LLM的文档引导模糊测试技术,用于测试Python库API,在12个库的7718个API上发现74个问题,其中43个已确认、29个已修复。
2026-08-13 cs.SE
Enhancing Software Testing Education: Understanding Where Students Struggle
本研究针对计算机专业学生软件测试概念掌握不足的问题,通过分析高年级课程两次作业的提交数据,发现判定覆盖和异常处理是主要难点,学生多做无效表层修改,为教学优化和反馈工具改进提供了依据。
2025-10-01 cs.SE
Testing with Jupyter notebooks: NoteBook VALidation (nbval) plug-in for pytest
Notebook验证工具nbval允许从Notebook文件加载和执行Python代码。在计算笔记本中单元格的输出时,将这些输出与笔记本文件中保存的输出进行比较,将每个单元格视为一个测试。偏差被报告为测试失败,具有可用于控制行为的各种配置选项。应用用例包括基于笔记本的文档、教程和教科书的验证,以及将笔记本用作笔记本中使用的库的附加单元、集成和系统测试。Nbval是作为pytest测试软件的插件实现的。
2020-01-13 cs.SE
Fairness-aware Configuration of Machine Learning Libraries
University of Texas at El Paso(得克萨斯大学埃尔帕索分校);Pennsylvania State University(宾夕法尼亚州立大学);University of Colorado Boulder(科罗拉多大学博尔德分校)
本文研究了机器学习(ML)算法在加重或减轻公平性错误时的参数空间。数据驱动的软件越来越多地应用于社会关键应用程序中,在这些应用程序中,确保公平至关重要。现有的方法集中于通过修改输入数据集或修改学习算法来解决公平性缺陷。另一方面,超参数的选择提供了对ML算法的更精细控制,可以实现一种侵入性更小的方法来影响公平性。超参数可以放大或抑制输入数据集中存在的歧视吗?我们如何帮助程序员检测、理解和利用超参数的作用来提高公平性?我们设计了三种基于搜索的软件测试算法来揭示超参数空间的精确公平边界。我们补充这些算法的统计调试,以解释这些参数在提高公平性的作用。我们在工具Parfait-ML(ML库的Parfait-FAIrness测试)中实现了所提出的方法,并在六个社会关键应用程序中使用的五个成熟ML算法中显示了其有效性和实用性。在这些应用中,我们的方法成功地识别了显着提高(相对于最先进的技术)公平性而不牺牲精度的超参数。令人惊讶的是,对于一些算法(例如,随机森林),我们的方法表明超参数的某些配置(例如,限制属性的搜索空间)可以放大应用程序之间的偏差。经过进一步的研究,我们发现了这些现象的直观解释,结果证实了文献中类似的观察。
2022-02-13 cs.CY cs.LG cs.SE
Enhancing Large Language Models with Retrieval Augmented Generation for Software Testing and Inspection Automation
Department of Computer Science University of Colorado Colorado Springs (UCCS)(科罗拉多大学科罗拉多斯普林斯分校计算机科学系);Smith College(史密斯学院)
本文通过检索增强生成方法提升大型语言模型在软件测试和检查自动化中的应用,有效减少项目成本并提高验证与确认活动的效果和效率。
2026-04-16 cs.SE
GraphFuzz: Automated Testing of Graph Algorithm Implementations with Differential Fuzzing and Lightweight Feedback
针对图算法测试输入空间大、代码覆盖引导模糊测试效率低的问题,提出首个面向图算法的反馈引导模糊测试框架GraphFuzz,通过算法特定轻量反馈提升语料多样性,支持黑/灰盒测试,结合差分测试发现12个未知漏洞。
2025-02-21 cs.SE
MoCo: Fuzzing Deep Learning Libraries via Assembling Code
针对深度学习库模糊测试在输入多样性、测试预言构建等方面的局限,提出基于代码组装的MoCo模糊测试方法,可快速定位漏洞,在三类主流DL库中检测出64个新漏洞。
2024-05-13 cs.SE
Detecting Rendering Bugs in Imperative Data Visualization Libraries via Equivalent Mutations
Hong Kong University of Science and Technology(香港科技大学);Monash University(蒙纳士大学)
研究命令式数据可视化库渲染错误难检测问题,提出 VIZDETOUR 方法,通过将预言机问题转化为等价性检查,利用构建渲染树等方式生成变异序列,经感知哈希比较输出,有效发现多个未知渲染错误。
2026-07-17 cs.SE
DocTer: Documentation Guided Fuzzing for Testing Deep Learning API Functions
本研究提出DocTer技术,通过依存句法分析树自动构建规则从深度学习API文档提取特有输入约束,用于生成测试输入检测API bug,在三大主流深度学习库上实现85.4%的约束提取准确率,发现大量未知bug与文档问题。
2024-03-06 cs.SE
Enhancing NeuroEvolution-Based Game Testing: A Branch Coverage Approach for Scratch Programs
本文针对Scratch游戏测试提出基于分支覆盖的适应度函数扩展NEATEST框架,引导神经进化最大化分支探索,实验表明其比语句覆盖方法具有更高的分支覆盖率和更低的故障误报率。
2025-07-12 cs.SE
Enhancing Testing at Meta with Rich-State Simulated Populations
本文提出在 Meta 部署富状态模拟群体进行自动化和手动测试,使代码和端点覆盖率分别提升 38% 和 61%,自动化测试发现的故障增加 115%,并被超 2.1 万名工程师用于隐私安全的手动测试。
2024-03-22 cs.SE
ACETest: Automated Constraint Extraction for Testing Deep Learning Operators
本文提出ACETest,通过自动识别DL算子输入验证代码并提取约束来生成有效且多样的测试用例,在TensorFlow和PyTorch上显著提升约束提取与缺陷检测效果。
2023-06-04 cs.CR cs.SE
Learning-Based Testing for Deep Learning: Enhancing Model Robustness with Adversarial Input Prioritization
University of Tennessee(田纳西大学)
本文提出融合假设检验与变异测试的LBT方法,对对抗输入进行优先级排序,以更快揭示DNN故障并指导重训练、增强鲁棒性。
2025-09-28 cs.LG cs.SE
SEAByTE: A Self-adaptive Micro-service System Artifact for Automating A/B Testing
微服务是当今软件开发的常见架构方法。开发微服务系统不可或缺的工具是A/B测试。在A/B测试中,两个变量A和B被应用于实验环境中。通过测量评估标准的结果,开发人员可以做出基于证据的决策来指导他们的软件的发展。最近的研究强调,需要提高自动化时,这样的实验进行迭代。为此,我们贡献了一个新的工件,旨在提高依赖于自适应原则的微服务系统的实验管道的自动化。具体来说,我们提出了SEAByTE,一个实验框架,用于测试新的自适应解决方案,以提高基于微服务的系统的连续A/B测试的自动化。我们用一个具体的例子来说明SEAByTE工件的使用。
2022-04-04 cs.SE
Fail Fast - Fail Often: Enhancing Agile Methodology using Dynamic Regression, Code Bisector and Code Quality in Continuous Integration (CI)
敏捷实践作为传统软件开发方法的替代方案,正受到业界的广泛关注。然而,在将敏捷[2]与测试驱动开发(TDD)[10]实践、云部署、持续集成(CI)、不间断性能、负载、安全和可访问测试相结合方面存在许多挑战。在这些挑战中,持续集成是一种在软件测试中被广泛讨论和实践的方法。本文描述了一种在持续集成中使用代码质量、代码平分线和动态回归来改进敏捷方法的方法。用于此分析、设计和开发的工具集是Jenkins、Robot Framework [4]、Perforce和Git。
2015-06-29 cs.SE
Distribution Awareness for AI System Testing
Nanyang Technological University(南洋理工大学)
随着深度学习(DL)在许多安全关键应用中的不断采用,其质量和可靠性开始引起人们的关注。与传统的软件开发过程类似,在早期阶段测试DL软件以发现其缺陷是降低部署后风险的有效方法。尽管最近在设计用于DL软件的新颖测试技术方面取得了进展,但是没有考虑生成的测试数据的分布。因此,很难判断所识别的错误是否确实是对DL应用有意义的错误。因此,我们提出了一种新的面向对象指导的测试技术,其目的是产生新的看不见的测试用例相关的底层DL系统任务。我们的结果表明,该技术是能够过滤高达55.44%的错误的测试用例CIFAR-10和10.05%的有效提高鲁棒性。
2021-05-06 cs.AI cs.SE
Client--Library Compatibility Testing with API Interaction Snapshots
本文提出利用客户端测试执行期间记录的 API 交互快照比较库版本间契约扰动,并通过 Java 工具 Gilesi 检测传统测试遗漏的行为破坏性变更。
2025-07-28 cs.SE
Evaluating and Enhancing Segmentation Model Robustness with Metamorphic Testing
Polytechnique Montreal(蒙特利尔理工学院)
本文提出基于遗传算法的蜕变测试方法SegRMT,通过优化空间和光谱变换生成对抗样本以评估并增强图像分割模型鲁棒性,在降低模型mIoU和提升对抗训练效果上均显著优于现有基线方法。
2025-04-03 cs.CV cs.SE
Multi-agent Assisted Automatic Test Generation for Java JSON Libraries
Research Institute of Trustworthy Autonomous Systems(可信自主系统研究院);University of Utah(犹他大学)
JsonATG通过多智能体系统生成Java JSON库的多样化测试用例,有效提升测试覆盖率并发现多个bug。
2025-12-03 cs.SE
Effectiveness and Scalability of Fuzzing Techniques in CI/CD Pipelines
Fuzzing已被证明是自动化软件测试的一项基本技术,但也是一项昂贵的技术。随着CI/CD实践在软件开发中的越来越多的采用,一个自然的问题是“考虑到代码更改的速度和自动化交付/部署实践,将模糊集成到CI/CD管道中的最佳方法是什么?”'.事实上,Böhme和Zhu最近的一项研究表明,每五个bug中就有四个是由最近的代码更改(即回归)引入的。在本文中,我们将从自动化软件测试和持续开发两个角度来仔细研究模糊器与CI/CD管道的集成。首先,我们研究了一个优化的机会来分类不需要模糊处理的提交,并通过实验分析发现,在我们分析的9个库中,有3个库的CI/CD中的平均模糊处理工作量可以减少约63%(6个库的平均模糊处理工作量>40%)。其次,我们调查了模糊活动持续时间对CI/CD流程的影响:较短的模糊活动,例如15分钟(与现场24小时的智慧相反)有助于更快的管道,并且仍然可以发现重要的错误,但也可能降低其检测复杂错误的能力。最后,我们讨论了一个优先级策略,自动分配资源的基础上,一组预定义的优先级策略模糊活动。我们的研究结果表明,连续模糊测试(作为CI/CD自动化测试的一部分)确实是有益的,有很多优化的机会,以提高模糊测试的有效性和可扩展性。
2022-06-07 cs.CR cs.SE