【论文速读】| 基于大语言模型的模糊测试技术

图片

本次分享论文为:Large Language Models Based Fuzzing Techniques: A Survey

基本信息

原文作者:Linghan Huang, Peizhou Zhao, Huaming Chen, Lei Ma

作者单位:悉尼大学;东京大学;阿尔伯塔大学

关键词:大语言模型,模糊测试,软件测试,自动化测试

原文链接:

https://arxiv.org/pdf/2402.00350.pdf

开源代码:

https://github.com/EdPuth/LLMs-based-Fuzzer-Survey

论文要点

论文简介:本文系统回顾了将大语言模型(LLMs)与模糊测试技术结合应用于软件测试的方法。研究表明,虽然现有的模糊测试技术还未能实现完全自动化,并且软件漏洞持续演化,但基于LLMs的模糊测试生成表现出显著的优势。此趋势促进了LLMs生成的模糊测试技术更广泛的部署和应用潜力。

研究目的:探索大语言模型在软件测试领域的应用,尤其是如何通过LLMs提高模糊测试的效率和准确性,从而提升软件的可靠性和安全性。

研究贡献:

1.相关文献提出或改进了基于大语言模型(LLM)的模糊测试工具、框架及方法。

2.研究聚焦于LLM环境中的模糊测试方法、概念与框架。

3.研究探讨了模糊测试与LLM概念之间的相互作用,涵盖了理论和方法论的讨论。

4.研究分析了结合LLM进行模糊测试的优势、潜在限制及未来的发展方向。

引言

模糊测试技术在软件安全性领域扮演着越来越重要的角色,因为它能够有效地识别和修复潜在的软件漏洞。随着软件系统的复杂性不断增加,传统的模糊测试方法开始显得力不从心,迫切需要引入新的技术来提升测试的效率和准确性。在这样的背景下,大语言模型(LLMs)的引入为软件测试带来了新的机遇。通过结合LLMs的模糊测试技术,可以利用语言模型生成的数据来进行软件测试,这不仅提高了测试的效率,还增强了对漏洞的识别能力。这种结合LLMs的方法在自动化测试领域展现出了巨大的潜力,尤其是在提高软件测试的自动化程度和扩大测试覆盖范围方面。然而,尽管LLMs结合的模糊测试技术展现出了诸多优势,但它目前还没有实现完全自动化,并且面临着软件漏洞不断进化的挑战。本文对这一技术进行了系统的回顾和分析,探讨了其在软件测试中的应用前景和潜在的发展方向,旨在为软件测试的研究和实践提供有价值的指导和启示。

研究背景

大语言模型(LLMs)的发展极大促进了包括翻译、摘要、信息检索和对话交互在内的复杂语言任务。这些模型之所以强大,关键在于采用了变换器机制(transformers mechanism),这一技术显著增强了处理能力。根据2023年7月的数据,从2019年到2023年,共涌现出75个具有影响力的LLMs,被广泛应用于通用语言处理、医疗、教育、科学、法律和金融等多个领域。这些模型主要分为仅解码器语言模型、仅编码器掩码语言模型以及编码器-解码器语言模型三种类型,特别是仅解码器语言模型在零样本程序合成上的应用尤为突出。自1990年代起,模糊测试技术已广泛应用于通过生成意外的输入以测试软件的可靠性和安全性,成为软件测试不可缺少的部分。随着软件行业的发展,模糊测试的技术和方法持续进化,覆盖率引导的模糊测试成为了新的主流趋势。

模糊测试分析

模糊测试,作为评估软件可靠性和安全性的关键方法,已在众多软件领域得到广泛运用。面对传统模糊测试的限制,研究者开始利用大语言模型(LLMs)以提高测试效率和准确率。对基于LLMs的模糊测试工具的分析表明,这些工具主要依靠优化提示生成(prompt engineering)和种子文件的变异策略来提升测试的性能。性能评估指标包括代码覆盖率、错误检测数量、命中率和变异效率,同时还考虑了执行时间和漏洞检测速度等与时间相关的因素。

图片

AI软件与非AI软件之间在结构和功能方面的差异是显著的:AI软件能够进行自主学习和处理自然语言,而非AI软件主要依靠预设的规则和配置。基于这些差异,针对这两种类型的软件的基于LLMs的模糊测试工具(LLMs-based Fuzzer)在其设计上也呈现出不同。在研究中,一些模糊测试工具专门为AI软件开发,而其他工具则专注于非AI软件。这些工具的开发不仅提升了软件测试流程的自动化程度,而且为提高未来软件的质量和安全性奠定了坚实的基础。

图片

研究论述

相比于传统的模糊测试工具,基于大语言模型(LLMs)的模糊测试工具在API和代码覆盖率、计算效率、复杂错误检测能力以及自动化水平方面表现出显著优势。未来的任务和挑战包括探讨两种类型的基于LLMs的模糊测试工具、预训练数据使用的策略、时间效率、为基于大语言模型的模糊测试定义评估框架,以及如何实现完全自动化的问题。

论文结论

这项调研报告深入探讨了基于大语言模型(LLMs)的模糊测试技术,全面概述了其在AI及非AI软件领域的应用。报告总结了基于LLMs模糊测试工具的架构和理念,并讨论了LLMs如何增强传统模糊测试的性能。相较于传统模糊测试,基于LLMs的方法在提升API和代码覆盖率、识别更复杂错误以及增加测试自动化方面显示出显著优势。因此,LLMs基础上的模糊测试技术在推动软件测试领域进步方面具有极大潜力。这份调研的发现和见解预计将为研究和实践界提供重要资源,引导开发更高效、可靠且自动化的模糊测试方案。

原作者:论文解读智能体

润色:Fancy

校对:小椰风

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/617068.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA Warnings:SQL dialect is not configured.

springboot项目XxxMapper.xml文件打开后显示warnings:SQL dialect is not configured......(翻译:未配置SQL语言。) 大概意思是没有在IDEA中配置当前sql是MySQl、Oracle还是MariaDB等语言。 配置一下就好: 完了&#…

Textarea的常用属性thymeleaf

文章目录 textareathymeleaf1.基础使用2.代码块的切换3.链接表达式1)范例 4.前后端5.遍历1.th:each2.th:switch3.添加属性 组件替换 每周总结 textarea -webkit-scrollbar:width:0;让滚动条隐藏,宽度为0 resize&#x…

Linux第90步_异步通知实验

“异步通知”的核心就是信号&#xff0c;由“驱动设备”主动报告给“应用程序”的。 1、添加“EXTI3.c” #include "EXTI3.h" #include <linux/gpio.h> //使能gpio_request(),gpio_free(),gpio_direction_input(), //使能gpio_direction_output(),gpio_get_v…

本地web项目启起来后,无法在浏览器(chrome)看到源码,从而无法打断点;Framework Ignore list

问题描述 本地web项目启起来后&#xff0c;无法在浏览器(chrome)看到源码&#xff0c;从而无法打断点 其他浏览器没看&#xff0c;开发环境一致专注于chrome&#xff08;其余浏览器有测试同事提缺陷了&#xff0c;才会去看&#xff09;&#xff0c;其余浏览器有没有这个问题&…

Docker Redis Debian服务器版

Debian安装docker 1.使用官方脚本自动安装docker 安装命令如下&#xff1a; curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh 如果安装提示 -bash sudo command not found 则需要 #update sudo apt-get update sudo apt-get install sudo再执行…

基于FPGA的以太网相关文章导航

首先需要了解以太网的一些接口协议标准&#xff0c;常见的MII、GMII、RGMII时序&#xff0c;便于后续开发。 【必读】从MII到RGMII&#xff0c;一文了解以太网PHY芯片不同传输接口信号时序&#xff01; 介绍一款比较老的以太网PHY芯片88E1518&#xff0c;具有RGMII接口&#xf…

C#简单工厂模式的实现

using System.Diagnostics.Metrics; using System.Runtime.InteropServices; using static 手写工厂模式.Program;namespace 手写工厂模式 {internal class Program{public interface eats {void eat();}//定义了一个接口public class rice : eats{public void eat() {Console.…

大语言模型综述全新出炉:51页论文带你盘点LLM领域专业化技术

大语言模型&#xff08;LLMs&#xff09;在自然语言处理&#xff08;NLP&#xff09;领域取得了显著的进步&#xff0c;为广泛的应用提供了一种非常有用的、与任务无关的基础。然而&#xff0c;直接应用 LLMs 去解决特定领域的复杂问题会遇到许多障碍&#xff0c;这些障碍源于领…

使用云服务器搭建CentOS操作系统

云服务器搭建CentOS操作系统 前言一、购买云服务器腾讯云阿里云华为云 二、使用 XShell 远程登陆到 Linux关于 Linux 桌面下载 XShell安装XShell查看 Linux 主机 ip使用 XShell 登陆主机 三、无法使用密码登陆的解决办法 前言 CentOS是一种基于Red Hat Enterprise Linux&#…

Zynq学习笔记--AXI 总线概述

目录 1. AXI总线概述 1.1 主要特点 1.2 通道功能 1.3 信号概览 2. AXI Interconnect 2.1 信号说明 2.2 内部结构 3. PS-PL AXI Interface 3.1 AXI FPD/LFP/ACP 3.2 Address Editor 3.3 地址空间 3.4 AXI-DDR 4. 通过ILA观察AXI信号 4.1 AXI 读通道 1. AXI总线概述…

ES6: set和map数据结构以及使用场景

ES6:set和map数据结构 一、Set 数据结构&#xff1a;二、使用场景&#xff1a;使用Set 进行去重三、Map 数据结构四、使用场景&#xff1a;使用Map进行树型数据懒加载刷新五、Set和Map的区别六、Map、Set的实际使用场景 Set 和 Map 是 ES6 中引入的两种新的数据结构&#xff0c…

下载了恶意软件怎么办,用这个软件可以解决 Mac电脑卸载软件 MacBook查杀病毒

随着苹果电脑在全球市场的普及&#xff0c;它们也日益成为恶意软件制作者的目标。这种趋势打破了许多人认为Mac系统不易受到病毒或恶意软件影响的传统观念。事实上&#xff0c;苹果电脑面临的恶意软件和安全威胁正在不断增多&#xff0c;这要求用户采取更加积极的措施来保护自己…