CN111651765B - 基于生成式对抗网络的程序执行路径生成方法 - Google Patents

基于生成式对抗网络的程序执行路径生成方法 Download PDF

Info

Publication number
CN111651765B
CN111651765B CN202010462328.0A CN202010462328A CN111651765B CN 111651765 B CN111651765 B CN 111651765B CN 202010462328 A CN202010462328 A CN 202010462328A CN 111651765 B CN111651765 B CN 111651765B
Authority
CN
China
Prior art keywords
program
path
training
generation
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010462328.0A
Other languages
English (en)
Other versions
CN111651765A (zh
Inventor
易平
蒋望涵
周稚宜
黄培扬
徐志鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202010462328.0A priority Critical patent/CN111651765B/zh
Publication of CN111651765A publication Critical patent/CN111651765A/zh
Application granted granted Critical
Publication of CN111651765B publication Critical patent/CN111651765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

一种基于生成式对抗网络的程序执行路径生成方法,对待处理程序进行向量化处理得到行向量,通过对抗生成网络对待处理程序及其行向量进行模拟路径生成的对抗训练,最后将训练后的对抗生成网络进行模拟程序执行路径生成,防止符号执行路径爆炸以及约束求解困难。本发明将自然语言处理算法应用于程序的脆弱路径生成,能够有效地提取程序的语义信息和结构特点,并用于程序的脆弱路径生成。本发明能够高效地从程序中提取脆弱路径,能够有效地缓解符号执行路径爆炸的问题,能高效地分析大批量程序脆弱路径。

Description

基于生成式对抗网络的程序执行路径生成方法
技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种基于生成式对抗网络的程序执行路径生成方法。
背景技术
程序漏洞是由于程序代码存在缺陷,导致输入恶意构造的数据时,程序会改变原定的执行流程而执行非预期的操作。程序脆弱路径是指当输入恶意构造的能够引起程序非预期行为的数据时程序所执行的语句的序列。
程序路径无法直接获得,最常见的表示程序的一条执行路径的方式是使用程序的一次具体的输入来表示这个输入所将要经过的路径。求解程序输入通常使用符号执行的技术。
符号执行是一种程序分析技术,其可以通过分析程序来得到特定代码域执行的输入。使用符号执行分析一个程序时,该程序会使用符号值作为输入,而非一般执行程序时使用的具体值。在达到目标代码时,分析器可以得到相应的路径约束,然后通过约束求解器来得到触发目标代码的具体值。
使用符号执行来求解程序路径时,当程序规模增大时,程序可能的执行路径的数量成几何量级增大,这种现象被称为路径爆炸。同时,随着程序规模增大,路径约束条件的求解也越来越困难。
目前尚未有可行的办法从程序源码直接生成程序的执行路径,没有将自然语言处理算法应用于程序的脆弱路径生成的先例。
发明内容
本发明针对现有信息安全技术在符号执行的路径爆炸与约束求解困难的缺点和不足,提出一种基于生成式对抗网络的程序执行路径生成方法。
本发明是通过以下技术方案实现的:
本发明涉及一种基于生成式对抗网络的程序执行路径生成方法,对待处理程序进行向量化处理得到行向量,通过对抗生成网络对待处理程序及其行向量进行模拟路径生成的对抗训练,最后将训练后的对抗生成网络进行模拟程序执行路径生成,防止符号执行路径爆炸以及约束求解困难。
所述的向量化处理是指:将待处理程序的程序编译为底层虚拟机(LLVM)格式的中间语言程序,再从中间语言程序中提取出真实的执行路径对应的程序的行号,并以该行号组成对应该程序的行向量。
所述的底层虚拟机包含一系列模块化的编译器组件和工具链,用来开发编译器前端和后端。它提供了与编译器相关的支持,能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。
技术效果
本发明整体解决符号执行路径求解困难以及路径爆炸的问题。
与现有技术相比,本发明首次将自然语言处理算法应用于程序的脆弱路径生成,提出了一种新的程序处理框架,可以有效地提取程序的语义信息和结构特点,并用于程序的脆弱路径生成。本发明能够高效地从程序中提取脆弱路径,能够有效地缓解符号执行路径爆炸的问题,能高效地分析大批量程序脆弱路径,为程序漏洞分析和软件静态分析提供了一种新的可行的方法。
附图说明
图1为本发明流程示意图;
图2为seq2seq模型结构图;
图3为Text CNN模型结构图;
图4为Seq-GAN模型结构图。
具体实施方式
本实施例针对的代码可为跨平台语言,主要适用于C/C++语言,如图1所示,为本实施例涉及的基于生成式对抗网络的程序执行路径生成系统,包括:预处理模块、行向量提取模块、生成器模块和判别器模块,其中:预处理模块将待处理程序编译为中间语言程序,使用KLEE的符号执行功能得到程序执行路径并生成数据集;行向量提取模块根据数据集得到向量化的程序和对应的真实路径并输出至生成器模块进行特征提取并生成模拟路径,判别器模块对真实路径和模拟路径进行判别并根据判别结果调整生成器模块的网络参数,直至得到的模拟路径达到预设指标。
所述的数据集包括:程序源码和程序对应的执行路径的行号表示。
所述的行向量提取模块包括:编码器(encoder)和解码器(decoder),其中:编码器接收程序信息进行向量化处理并输出程序每一行的向量化特征表示,解码器接收编码器输出的向量并对程序的每一行进行重构。最终该模块的输出为编码器输出的向量,该向量包括了程序每一行的语义特征。
本实施例涉及上述系统的基于生成式对抗网络的程序执行路径生成方法,包括以下步骤:
步骤一、数据集预处理,具体包括:
1.1)使用Clang编译器将漏洞代码库中C/C++语言源文件编译为带调试信息的未经过任何编译优化的LLVM Bitcode文件。
所述的Clang编译工具是LLVM编译器工具集中的一个用于编译C、C++、Objective-C的前端,用于优化以任意程序语言编写的程序的编译时间、链接时间、运行时间以及空闲时间。在此发明中,Clang编译工具是得到LLVM Bitcode的主要手段。
所述的漏洞代码库为从SARD数据库中搜集得到的漏洞代码。
1.2)修改KLEE程序,添加针对每一条路径的输出函数,重新编译KLEE。
所述的符号执行工具KLEE是一款开源的自动软件测试工具,基于LLVM编译底层基础,能够自动生成测试样例检测软件缺陷。KLEE通过对LLVM Bit code进行解释以实现符号执行的功能。它通过插入函数调用对内存进行符号化,跟踪符号内存的使用,并收集使用这些符号内存的约束,使用STP来求解符号约束。在此发明中符号执行工具KLEE是提取程序实际执行路径的主要手段。
1.3)使用KLEE执行LLVM Bitcode文件输出程序执行路径的程序行号信息。
所述的LLVM Bitcode是由LLVM引入的一种中间代码,它是程序被编译为二进制机器码过程中的中间表示形态,它既不是程序,也不是机器码。从代码组织结构上看它比较接近机器码,但是在函数和指令层面使用了很多高级语言的特性。在此发明中,LLVM Bitcode是符号执行工具KLEE的初始输入。
步骤二、模型预训练,具体包括:
2.1)训练行向量提取模块训练:训练seq2seq形式的自编码器(Auto-encoder),即通过大量程序程序的训练数据集,自编码器的输入和输出都是程序的同一行语句,训练目的是使解码器能尽量准确的重构自动编码器的输入,即行向量提取模块训练的目标输出为自动编码器的编码结果,使解码器重构出输入的程序语句,当解码器能够仅通过编码器的输出完全重构出与编码器的输入相同的程序语句时,则可以认为编码器输出的行向量就包含了程序语句的语义特征。
所述的seq2seq模型为编码器-解码器结构的网络,它的输入是一个序列,输出也是一个序列,编码器中将一个可变长度的信号序列变为固定长度的向量表达,解码器将这个固定长度的向量变成可变长度的目标的信号序列。这个结构最重要的地方在于输入序列和输出序列的长度是可变的,常用于用于翻译,聊天机器人,句法分析,文本摘要等,而本实施例创新性地将其应用于程序行文本的特征提取。
所述的自编码器通过重建输入的神经网络训练过程,它的隐藏层的向量具有降维和特征提取的作用。它的特点是编码器会创建一个隐藏层(或多个隐藏层)包含了输入数据含义的低维向量,然后有一个解码器,会通过隐藏层的低维向量重建输入数据。通过神经网络的训练最后Auto-encoder会在隐藏层中得到一个代表输入数据的低维向量。它可以帮助数据分类、可视化、存储。Auto-encoder是一个非监督的学习模式,只需要输入数据,不需要label或者输入输出对的数据。本实施例使用seq2seq形式的Auto-encoder的目标是将程序程序的每一行都转化成一个代表其特征的向量,用于后续在生成器模型中使用。
2.2)生成器模块预训练:将程序用行向量提取模块中得到的行向量按照程序中行的顺序排列,将处理后的行向量输入生成器模块中的卷积神经网络(CNN)进行特征提取,将每一个用行向量表示的程序看作一张图片,图片的维度是程序行数乘行向量提取模块输出的向量维度,然后经过卷积神经网络的池化层和全连接层得到程序的特征的向量表示,该特征向量中包含了整个程序的语义信息和结构信息。将CNN生成的编码数据输入RNN模块,RNN作为译码器,利用程序的结构信息分析出路径,RNN采用LSTM结构,把每条路径的序列当作时序序列处理,训练的过程中需要输入真实的路径,以对应的真实路径作为当前时刻的输入,利用真实路径用来优化模型,生成的过程则不输入真实路径,以上一个时刻的输出作为当前时刻的输入,最后得到预测的路径。
所述的卷积神经网络CNN是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,CNN通常用于计算机视觉领域,本实施例将CNN用于文本处理,将由Auto-encoder得到的行编码拼成一张“图片”,通过CNN提取其特征。选择CNN的原因是程序语言不同于自然语言,其具有一定的结构信息,并不是严格的顺序结构。
所述的循环神经网络RNN是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。循环神经网络在自然语言处理,例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报。此发明中,RNN用于以CNN输出的特征向量作为输入,生成程序的执行路径。
2.3)判别器模块预训练:将步骤1.3)得到的真实路径和步骤2.2)预训练后的生成器模块根据输入的程序生成的路径共同作为输入,训练目标是尽可能区分真实路径和生成的路径,即使得给真实路径的分数越接近1越好,给生成的路径的分数越接近0越好。
步骤三、更新生成式对抗网络,具体包括:采用SeqGAN方法,以生成器模块尽可能接近真实路径的路径以骗过判别器的同时判别器模块尽可能准确的区分开真实路径和生成路径为训练目标。
所述的SeqGAN方法具体为:分为G过程和D过程,G过程的具体步骤是用生成器G生成一个序列,然后对每一个实践步计算奖励Q,通过梯度更新生成器的参数;D过程的具体步骤是生成器的序列生成一系列句子,将生成句子和真实句子联合起来,训练判别器。
所述的生成式对抗网络(GAN,Generative Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。由于GAN通常用于图像生成方面,而文字是离散的所以经常导致GAN的反向传播失效,所以本实施例采用了Seq-GAN,Seq-GAN用强化学习的蒙特卡洛方法解Gan,每生成一个字,都会对它的效果进行考量,这种强化学习方法也能解决离散数据反向传播失败的问题。
步骤四、通过生成式对抗网络自动化生成漏洞程序的脆弱执行路径,用于定位漏洞点、漏洞点前向回溯、构造攻击与测试样例。
本发明将自然语言处理算法应用于程序的脆弱路径生成,能够高效地从程序中提取脆弱路径,能够有效地缓解符号执行路径爆炸的问题,能高效地分析大批量程序脆弱路径。与现有技术相比,本发明能够处理大批量的程序数据。
本发明在工业实际应用中可以辅助企业在实际使用符号执行工具来获取真实执行路径之余快速高效地获取大批量数据集的预计脆弱路径。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

Claims (2)

1.一种基于生成式对抗网络的程序执行路径生成方法,其特征在于,对待处理程序进行向量化处理得到行向量,通过对抗生成网络对待处理程序及其行向量进行模拟路径生成的对抗训练,最后将训练后的对抗生成网络进行模拟程序执行路径生成,防止符号执行路径爆炸以及约束求解困难,具体步骤包括:
步骤一、数据集预处理,具体包括:
1.1)使用Clang编译器将漏洞代码库中C/C++语言源文件编译为带调试信息的未经过任何编译优化的LLVMBitcode文件;
1.2)修改KLEE程序,添加针对每一条路径的输出函数,重新编译KLEE;
1.3)使用KLEE执行LLVMBitcode文件输出程序执行路径的程序行号信息;
步骤二、模型预训练,具体包括:
2.1)训练行向量提取模块训练:训练seq2seq形式的自编码器,即通过大量程序程序的训练数据集,自编码器的输入和输出都是程序的同一行语句,训练目的是使解码器能尽量准确的重构自动编码器的输入,即行向量提取模块训练的目标输出为自动编码器的编码结果,使解码器重构出输入的程序语句,当解码器能够仅通过编码器的输出完全重构出与编码器的输入相同的程序语句时,则可以认为编码器输出的行向量就包含了程序语句的语义特征;
2.2)生成器模块预训练:将程序用行向量提取模块中得到的行向量按照程序中行的顺序排列,将处理后的行向量输入生成器模块中的卷积神经网络进行特征提取,将每一个用行向量表示的程序看作一张图片,图片的维度是程序行数乘行向量提取模块输出的向量维度,然后经过卷积神经网络的池化层和全连接层得到程序的特征的向量表示,该特征向量中包含了整个程序的语义信息和结构信息;将CNN生成的编码数据输入RNN模块,RNN作为译码器,利用程序的结构信息分析出路径,RNN采用LSTM结构,把每条路径的序列当作时序序列处理,训练的过程中需要输入真实的路径,以对应的真实路径作为当前时刻的输入,利用真实路径用来优化模型,生成的过程则不输入真实路径,以上一个时刻的输出作为当前时刻的输入,最后得到预测的路径;
2.3)判别器模块预训练:将步骤1.3)得到的真实路径和步骤2.2)预训练后的生成器模块根据输入的程序生成的路径共同作为输入,训练目标是尽可能区分真实路径和生成的路径;
步骤三、更新生成式对抗网络,具体包括:采用SeqGAN方法,以生成器模块尽可能接近真实路径的路径以骗过判别器的同时判别器模块尽可能准确的区分开真实路径和生成路径为训练目标,具体为:分为G过程和D过程,G过程的具体步骤是用生成器G生成一个序列,然后对每一个实践步计算奖励Q,通过梯度更新生成器的参数;D过程的具体步骤是生成器的序列生成一系列句子,将生成句子和真实句子联合起来,训练判别器;
步骤四、通过生成式对抗网络自动化生成漏洞程序的脆弱执行路径,用于定位漏洞点、漏洞点前向回溯、构造攻击与测试样例。
2.根据权利要求1所述的基于生成式对抗网络的程序执行路径生成方法,其特征是,所述的向量化处理是指:将待处理程序的程序编译为底层虚拟机格式的中间语言程序,再从中间语言程序中提取出真实的执行路径对应的程序的行号,并以该行号组成对应该程序的行向量。
CN202010462328.0A 2020-05-27 2020-05-27 基于生成式对抗网络的程序执行路径生成方法 Active CN111651765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010462328.0A CN111651765B (zh) 2020-05-27 2020-05-27 基于生成式对抗网络的程序执行路径生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010462328.0A CN111651765B (zh) 2020-05-27 2020-05-27 基于生成式对抗网络的程序执行路径生成方法

Publications (2)

Publication Number Publication Date
CN111651765A CN111651765A (zh) 2020-09-11
CN111651765B true CN111651765B (zh) 2023-05-02

Family

ID=72346900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010462328.0A Active CN111651765B (zh) 2020-05-27 2020-05-27 基于生成式对抗网络的程序执行路径生成方法

Country Status (1)

Country Link
CN (1) CN111651765B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112163670A (zh) * 2020-10-14 2021-01-01 上海交通大学 对抗攻击的检测方法、系统、设备、计算机可读存储介质
CN113688919A (zh) * 2021-08-30 2021-11-23 华北电力大学(保定) 一种基于SeqGAN模型的风电机组健康状态评估数据集构建方法
CN114216473B (zh) * 2021-11-19 2024-01-30 深圳优地科技有限公司 行驶路径的选择方法、装置、设备以及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI223093B (en) * 2001-04-04 2004-11-01 Intel Corp A method and system an algorithm for finding vectors to stimulate all paths and arcs through an LVS gate
JP2005124026A (ja) * 2003-10-20 2005-05-12 Nippon Telegr & Teleph Corp <Ntt> 反響消去装置、方法、及び反響消去プログラム、そのプログラムを記録した記録媒体
CN109889452A (zh) * 2019-01-07 2019-06-14 中国科学院计算技术研究所 基于条件生成式对抗网络的网络背景流量生成方法和系统
CN110008710A (zh) * 2019-04-15 2019-07-12 上海交通大学 基于深度强化学习和程序路径插桩的漏洞检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387655B2 (en) * 2017-02-15 2019-08-20 International Business Machines Corporation Method, system and product for using a predictive model to predict if inputs reach a vulnerability of a program
US10867404B2 (en) * 2018-08-29 2020-12-15 Toyota Jidosha Kabushiki Kaisha Distance estimation using machine learning
US20200125943A1 (en) * 2018-10-18 2020-04-23 International Business Machines Corporation Adversial deep neural network fuzzing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI223093B (en) * 2001-04-04 2004-11-01 Intel Corp A method and system an algorithm for finding vectors to stimulate all paths and arcs through an LVS gate
JP2005124026A (ja) * 2003-10-20 2005-05-12 Nippon Telegr & Teleph Corp <Ntt> 反響消去装置、方法、及び反響消去プログラム、そのプログラムを記録した記録媒体
CN109889452A (zh) * 2019-01-07 2019-06-14 中国科学院计算技术研究所 基于条件生成式对抗网络的网络背景流量生成方法和系统
CN110008710A (zh) * 2019-04-15 2019-07-12 上海交通大学 基于深度强化学习和程序路径插桩的漏洞检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jie Chen, Zhuangzhuang Chen.A GAN-based Active Terrain Mapping for Collaborative Air-Ground Robotic System.《2019 IEEE 4th International Conference on Advanced Robotics and Mechatronics (ICARM)》.2019,第622-627页. *
李张谭.基于深度学习的模糊测试种子生成技术.《计算机系统应用》.2019,第9-17页. *

Also Published As

Publication number Publication date
CN111651765A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN111651765B (zh) 基于生成式对抗网络的程序执行路径生成方法
Russell et al. Automated vulnerability detection in source code using deep representation learning
Gupta et al. Deep reinforcement learning for syntactic error repair in student programs
Wang et al. Blended, precise semantic program embeddings
Gupta et al. Deep reinforcement learning for programming language correction
CN116049831A (zh) 一种基于静态分析和动态分析的软件漏洞检测方法
CN112463424A (zh) 一种基于图的端到端程序修复方法
CN113127933B (zh) 一种基于图匹配网络的智能合约庞氏骗局检测方法及系统
CN111475820A (zh) 基于可执行程序的二进制漏洞检测方法、系统及存储介质
CN109614103A (zh) 一种基于字符的代码补全方法及系统
CN108563561B (zh) 一种程序隐性约束提取方法及系统
Wang et al. Learning blended, precise semantic program embeddings
Wei et al. Cocofuzzing: Testing neural code models with coverage-guided fuzzing
Shrestha et al. DeepFuzzSL: Generating models with deep learning to find bugs in the Simulink toolchain
Zakeri Nasrabadi et al. Format-aware learn&fuzz: deep test data generation for efficient fuzzing
CN114911711A (zh) 一种代码缺陷分析方法、装置、电子设备及存储介质
Clune et al. Program equivalence for assisted grading of functional programs
Li et al. Discriminating Human-authored from ChatGPT-Generated Code Via Discernable Feature Analysis
Wang et al. A Token‐based Compilation Error Categorization and Its Applications
Lee et al. On the naturalness of hardware descriptions
Priya et al. A deep dive into automatic code generation using character based recurrent neural networks
CN111474894B (zh) 可变目标plc仿真调试方法、存储介质及功能模块
Yan et al. A survey of human-machine collaboration in fuzzing
Amyan et al. Automating Fault Test Cases Generation and Execution for Automotive Safety Validation via NLP and HIL Simulation
Sambe et al. Towards a semantic comparison system of source code for support in learning programming

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant