学习可处理故障定位的概率模型
提出了一种基于预训练编程语言模型 CodeT5 的新型统一 “Detect-Localize-Repair” 框架 CodeT5-DLR,它包括三个目标,即 bug 检测、定位和程序修复,并在 Java 和 Python 的两个新收集的行级调试数据集上进行了评估。结果表明,该模型在 NLP 和软件工程领域的现有基线上显著优于其他机器学习方法。
Nov, 2022
深度神经网络的错误定位工具 deepmufl 在广泛的 DNN 模型中具有较好的有效性,并且可以在一半的错误定位时间内定位到高达 53/109 的错误位置,相比于静态和动态 DNN 错误定位系统具有更优的性能。
Sep, 2023
BugLab 是一种基于机器学习的、自监督学习为主的程序分析方法,通过两个模型共同训练,可以有效地发现和修复代码中的错误,提高了 2374 个真实缺陷数据集的检测和修复准确度,同时发现了 19 个以前未知的错误。
May, 2021
我们提出了一个新的弱监督标签设置,即真假标签(TFLs),通过预训练的视觉语言模型(VLMs)生成的 TFLs 可以实现高准确性。我们理论上推导了一种风险一致估计器,以探索和利用 TFLs 的条件概率分布信息。此外,我们提出了一种基于卷积的多模态提示检索(MRP)方法,以弥合 VLMs 的知识与目标学习任务之间的差距。实验结果证明了所提出的 TFL 设置和 MRP 学习方法的有效性。
May, 2024
这篇论文提出了一种新颖的 NP-SBFL 方法,它通过使用层次相关传播(LRP)技术来确定关键神经元并确定哪些关键神经元是有问题的。该方法通过多阶段梯度上升(MGA)有效激活一系列神经元,并在维持以前神经元的激活的同时确定故障神经元。实证结果表明,NP-SBFL-MGA 在发现可疑路径和合成对抗输入方面比基准方法具有更高的效果。尤其是,在 NP-SBFL-MGA 上,Tarantula 方法的故障检测率为 96.75%,超过 Ochiai 方法上的 DeepFault(89.90%)和 NP-SBFL-GA(60.61%)。我们的方法在合成自然输入方面也产生了可比较的结果,并发现关键路径的覆盖率与 DNN 故障定位中的失败测试数之间存在正相关关系。
Oct, 2023
本文旨在研究可计算多项式时间的概率模型(Tractable Probabilistic Models,TPMs)如何通过随机查询评估用于生成嵌入,并提出两种实验设计来评估和比较 TPMs 作为无监督表征学习中特征提取器的实用性,研究者采用可计算多项式时间的 Sum-Product 网络和混合树作为可行模型生成嵌入,对标准图像数据集进行实验,并取得一些实验性结果。
Aug, 2016
草案提出了 BugFarm,用于将任意代码转化为多个复杂的错误。BugFarm 利用 LLM(语言模型)在多个位置(难以修复)突变代码。为了确保多个修改不会显着改变代码的表示,BugFarm 分析了底层模型的注意力,并指示 LLMs 仅更改注意力最低的位置(难以检测)。我们对 BugFarm 生成的 320k + 错误进行了全面评估,这些错误是通过学习型错误预测方法难以检测到的,并且通过 SOTA(优秀的)学习型程序修复技术难以修复的。
Oct, 2023
这篇论文提出了一种利用大型语言模型(LLMs)自动识别导致测试失败的代码更改的新方法,并通过定量和定性评估验证了该方法的有效性。通过 EA 开发者报告的问题进行的数据集评估结果显示,我们的方法在准确率上达到了 71%。此外,通过用户研究对我们的模型进行了评估,结果显示在开发者的视角下使用该工具可以显著减少问题调查所需的时间,最高可达 60%。
Jun, 2024
现有的故障检测方法在大型语言模型上表现不佳,因此我们提出了一种名为 MuCS 的基于提示变异的预测置信度平滑方法,该方法能显著提升现有方法在测试覆盖率上的改进达到 97.64%。
Apr, 2024