【论文速读】| CHEMFUZZ: 大语言模型辅助模糊测试用于量子化学软件缺陷检测

news2024/11/27 2:18:02

本次分享论文为:CHEMFUZZ: Large Language Models-assisted Fuzzing for Quantum Chemistry Software Bug Detection

基本信息

原文作者:Feng Qiu, Pu Ji, Baojian Hua, Yang Wang

作者单位:中国科学技术大学软件工程学院,美国约翰霍普金斯大学计算机科学系

关键词:量子化学软件,模糊测试,大语言模型,安全测试

原文链接:

https://csslab-ustc.github.io/publications/2023/chemfuzz.pdf

开源代码:暂无

论文要点

论文简介:本论文介绍了一个称为CHEMFUZZ的新框架。该框架借助大语言模型(LLMs)进行量子化学软件的模糊测试,目的是发现软件潜在的漏洞。CHEMFUZZ通过使用LLMs生成既语法正确又语义有效的输入文件,并对这些文件进行修改,能够识别出量子化学软件中的各类漏洞,从而增强了软件的安全性与可靠性。研究中对三种流行的大语言模型——GPT-3.5、Claude-2和BART——进行了测试,结果显示CHEMFUZZ成功识别了40个唯一的漏洞,并实现了17.4%的代码覆盖率。

图片

研究目的:研究者开发了一种名为CHEMFUZZ的自动化模糊测试框架。该框架通过利用大语言模型,旨在提升量子化学软件测试的有效性与效率,从而填补了当前研究在该领域的空白。

研究贡献:

1.首次将LLMs应用于量子化学软件的模糊测试,提出了一种新的测试方法。

2.实现了CHEMFUZZ原型,验证了方法的可行性。

3.通过大量实验,评估了CHEMFUZZ的有效性和性能,成功检测出多个实际漏洞。

引言

在人工智能赋能下的科学研究新纪元中,量子化学软件已成为科学研究与化学工业领域的关键工具。但是,软件固有的漏洞问题对其可靠性和安全性构成了严重威胁,迫切需要更高效的漏洞检测方法。面对量子化学软件对于复杂输入输出和专业化学知识的高要求,传统测试方法显得力不从心。本研究提出了一个创新性解决方案——CHEMFUZZ。这一框架通过大语言模型(LLMs)的辅助,进行模糊测试,能够智能地生成和修改测试用例以高效地发现软件漏洞。实验结果表明,CHEMFUZZ不仅大幅提升了漏洞检测的效率和覆盖率,而且为量子化学软件的安全性测试探索了新途径。

挑战和动力

量子化学软件在科研和工业领域扮演着核心角色。然而,其庞大的代码库和复杂性导致漏洞成为常态。随着这些软件越来越多地运行在云服务和超级计算机上,任何漏洞都可能引发严重后果,比如程序故障或数据丢失。面临这样的挑战,传统软件测试方法因缺少专业的化学知识和高效的测试用例生成机制而不尽人意。为此,研究者提出了CHEMFUZZ框架,这一框架集成了先进的大语言模型技术,专门设计来智能生成和修改测试用例。这样不仅能显著提高量子化学软件测试的效率和准确性,还能保障软件的可靠性和安全性,支持科学研究和化工产业的进步。

研究设计

为了解决量子化学软件测试的复杂性,本文介绍了CHEMFUZZ框架,这是一个采用了创新模糊测试策略的设计。其核心在于运用大语言模型(LLMs)的能力辅助测试。CHEMFUZZ分为两个主要模块:变异模块和分析模块。变异模块负责将种子输入文件通过智能变异,以结构和数据为基础生成新的测试用例;分析模块则聚焦于收集代码覆盖率信息,并利用LLMs对测试执行结果中的异常进行分析。这个框架将测试用例的生成和结果的分析自动化,显著提升了测试的效率和精确度。通过精心设计的算法和明确的实施机制,CHEMFUZZ致力于为量子化学软件的安全性提供更高级别的保护,并推进相关的软件测试技术发展。

图片

研究评估

本文通过对CHEMFUZZ框架进行了多轮实验的全面评估。实验结果显示,CHEMFUZZ在现实世界的量子化学软件中极其有效,成功识别了40个之前未发现的漏洞,并达到了17.4%的代码覆盖率。此外,本文还比较了GPT-3.5、Claude-2和Bart三种大语言模型在测试中的性能,其中Claude-2在生成测试案例的质量和效率上表现最佳。这些实验不仅证明了CHEMFUZZ在提升量子化学软件安全性方面的有效性,还展示了大语言模型在软件测试领域的巨大潜力和实用价值。

图片

研究论述

CHEMFUZZ的提出和实验验证,标志着量子化学软件测试领域的一次重大进步。本研究通过结合先进的大语言模型(LLMs),不仅显著提升了测试用例的生成效率和漏洞检测的准确性,还为软件测试领域引入了新的视角和方法。实验结果证明了CHEMFUZZ在实际应用中的有效性,成功检测出多个重要漏洞,展示了其在确保量子化学软件安全性方面的巨大潜力。此外,本研究还探索了不同大语言模型在测试过程中的表现,为未来的研究提供了宝贵的经验和启示。

论文结论

CHEMFUZZ作为一种创新的量子化学软件模糊测试框架,成功地将大语言模型(LLMs)的强大能力引入到软件漏洞检测领域。通过详细的实验验证,CHEMFUZZ不仅在提高测试效率和扩大代码覆盖率方面展现出显著成效,还成功检测出多个关键漏洞,为量子化学软件的安全性和可靠性提供了更加坚实的保障。本研究不仅为量子化学软件测试技术的发展开辟了新的道路,同时也为利用LLMs进行软件测试提供了新的视角和方法论,具有重要的理论意义和实践价值。

原作者:论文解读智能体

润色:Fancy

校对:小椰风

图片

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考数据库---1.事务管理

目录 1.1 事物的基本概念1.2 数据库的并发控制1.2.1 事务调度概念1.2.2 并发操作带来的问题1.2.3 并发控制技术1.2.4 隔离级别: 1.3 数据库的备份和恢复1.3.1 故障种类1.3.2 备份方法1.3.3 日志文件1.3.4 恢复 1.1 事物的基本概念 ●概念:一个操作序列&…

自然语言处理、大语言模型相关名词整理

自然语言处理相关名词整理 零样本学习(zero-shot learning)词嵌入(Embedding)为什么 Embedding 搜索比基于词频搜索效果好? Word2VecTransformer检索增强生成(RAG)幻觉采样温度Top-kTop-p奖励模…

云计算:Linux 部署 OVS 集群(服务端)实现VXLAN

目录 一、实验 1.环境 2.Linux 部署 OVS 集群(服务端) 3.Linux 部署VXLAN 一、实验 1.环境 (1) 主机 表1 宿主机 主机架构软件IP备注ovs_controller控制端192.168.204.63 1个NAT网卡 (204网段) ovs_server01服务端 Openv…

睿尔曼超轻量仿人机械臂之双臂复合机器人手眼标定软件在Arm架构系统上的使用实操

双臂复合升降机器人的手眼标定是属于眼在手外的标定模式,相机在机器人的头部,标定前应固定相机的位置,再打开我们的标定软件程序如下,给足文件权限后,打开主程序,运行后会出现如下界面。 首次连接&#xff…

深入浅出 -- 系统架构之日均亿级吞吐量的网关架构(DNS轮询解析)

在前篇关于《Nginx》的文章中曾经提到:单节点的Nginx在经过调优后,可承载5W左右的并发量,同时为确保Nginx的高可用,在文中也结合了Keepalived对其实现了程序宕机重启、主机下线从机顶替等功能。 但就算实现了高可用的Nginx依旧存在…

解决宝塔的FTP无法使用被动模式

问题:宝塔安装完ftp管理软件之后,无法使用被动模式连接 解决: 提示: 如果还是不行,那么要看看防火墙和安全组有没有放行被动模式的端口,宝塔安装的pure-ftpd软件的被动模式端口默认是39000至400…

MySQL-----索引

一 概述 索引(index)是帮助MysQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构, 这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法&…

Sketch3D:用于草图到3D生成的样式一致性指南

Sketch3D: Style-Consistent Guidance for Sketch-to-3D Generation Sketch3D:用于草图到3D生成的样式一致性指南 Wangguandong Zheng 重试 错误原因 Southeast UniversityChina 重试 错误原因 wgdzhengseu.edu.cnHaifeng Xia 重试 错误原因 Southeast Universit…

千视电子携NDI 6前沿技术,亮相北京CCBN展呈现轻量化媒体解决方案

千视携NDI 6技术闪耀2024 CCBN展会,呈现轻量化媒体解决方案 2024年4月24日至26日,北京首钢会展中心将举办第三十届中国国际广播电视网络技术展览会(CCBN2024)。这是中国广播电视行业的一项重要盛会,将有国内外超600家…

Apache——DBUtils

韩顺平 零基础30天学会Java 一、基本介绍 1、commons-dbutils是 Apache 组织提供的一个开源JDBC工具类库,它是对JDBC的封装,使用dbutils能极大简化jdbc编码的工作量 二、DbUtils类 1、QueryRunner类:该类封装了SQL的执行,是线程…

Python处理PDF:在PDF文档中插入页眉和页脚

在处理篇幅较长、结构复杂的PDF文档时,页眉和页脚的设计与插入就显得尤为重要。它们不仅扮演着美化文档、提升专业度的角色,更承担了导航指引、信息标注的重要功能。 页眉通常用于展示文档的标题或章节名称,有助于读者在翻阅过程中迅速定位所…

网工基础协议——IP地址

IP地址的概念: IP 地址是我们进行TCP/IP通讯的基础,每个连接到网络上的计算机都必须有一个!P地址。我们目前使用的IP地址是32位的,通常以点分十进制表示。例如:192.168.0.181。IP地址的格式为: IP地址 网络地址 主机地址 或者 |P地址主机地…

真正的检索高手,为什么可以“不检索”?还摸鱼| 秘塔AI

开篇震撼:揭秘秘塔AI搜索的革命性力量 在信息爆炸的时代,如何快速准确地找到所需信息成为了一项挑战。国际上的AI驱动搜索引擎Perplexity以其整合网络最新资讯的能力,为用户提供精确且权威的答案,显著提高了信息检索效率。 而今…

【简明图文教程】Node.js的下载、安装、环境配置及测试

文章目录 前言下载Node.js安装Node.js配置Node.js配置环境变量测试后言 前言 本教程适用于小白第一次从零开始进行Node.js的下载、安装、环境配置及测试。 如果你之前已经安装过了Node.js或删除掉了Node.js想重新安装,需要先参考以下博客进行处理后,再根…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之九 简单视频卡通画效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之九 简单视频卡通画效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之九 简单视频卡通画效果 一、简单介绍 二、简单视频卡通画效果实现原理 三、简单视频卡通画效果…

YOLOv8改进 | 检测头篇 | 自研超分辨率检测头HATHead助力超分辨率检测(混合注意力变换器检测头)

一、本文介绍 本文给大家带来的改进机制是由由我本人利用HAT注意力机制(超分辨率注意力机制)结合V8检测头去掉其中的部分内容形成一种全新的超分辨率检测头。混合注意力变换器(HAT)的设计理念是通过融合通道注意力和自注意力机制…

记录一个Kafka客户端Offset Explore连不上的问题

我昨天把集群重装了一下,再连这个工具就连不上了(你先把zk和kafka在集群启起来),报错截图如下: 英文翻译过来大概就是说遍历zk指定路径不存在,我还以为zk的问题,回去又把zk的文档翻了一遍&#…

物联网实战--驱动篇之(七)RTC时钟(DS1302)

目录 一、RTC简介 二、DS1302介绍 三、初始化 四、字节读写 五、功能函数 一、RTC简介 实时时钟,简称RTC,这个在STM32的外设里也有,不过STM32F1系列的RTC实际上只有一个计数器功能,如果需要年月日要自己写软件计算 &#xff…

C++/QT 医院信息管理系统

一、项目介绍 (1)管理员、居民、医生三个角色登录;居民可注册账号登录,医生由管理员添加,管理员权限最高 (2)管理员: 模块一:信息管理(医生信息管理、医院…

Leetcode算法训练日记 | day23

一、修剪二叉搜索树 1.题目 Leetcode:第 669 题 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff…