利用人工智能进行二进制代码理解
该研究展示了如何将自然语言处理的思想和技术应用于大规模的二进制代码分析,提出了两个重要的代码相似性比较问题,并通过内部实验验证了所提出的方法的优越性。
Aug, 2018
本文研究了利用大型预先训练的源代码模型来对反编译二进制文件的函数进行自动摘要,建立了一个包含多种编译器优化的数据集 CAPYBARA,进一步生成了合成数据集来优化模型性能,并创造了 BinT5 模型,成功地用于反汇编二进制代码中。
Jan, 2023
该篇论文提出了解决不同编程语言下的二进制和源代码匹配问题的新数据集,以及基于 Transformer 神经网络的 XLIR 方法,并在多项实验验证了其显著优于现有模型的有效性。
Jan, 2022
通过整合生成的代码和注释对,提高二进制代码注释质量分类模型的准确性, 使用包含 9048 对用 C 语言编写的代码和注释的数据集,每个都标注为 “有用” 或 “无用”。除此之外,还使用大型语言模型架构生成代码和注释对,并标记以指示其效用。这一努力的成果包括两个分类模型:一个利用原始数据集,另一个整合了新生成的代码注释对和标签的增强数据集。
Oct, 2023
本文综述了深度学习在编码智能方面的应用,包括代码表示学习、深度学习技术和应用任务,并提供了一个适用于基于深度学习的编码智能模型快速原型设计的开源工具包。同时,公开发布了源代码和数据资源,以促进现有和未来编码智能模型的评估和比较,并指出了几个具有挑战性和有前景的研究方向。
Dec, 2023
本研究应用基于 AI 的代码助手对影响现代技术的一些重要代码进行分析,提出使用该助手工具可以对混淆代码或缺乏说明注释的软件提供见解,并专注于添加自动文档和代码注释,并将某些选定的大型代码库转换为带有多个新的 API 和多任务链接的现代版本,从而在遗留代码重构和高价值代码库功能简化方面提供了具有人类级别专业知识的有价值工具。
Jan, 2023
本论文综述了过去 35 年中在自然语言处理 (NLP) 中应用的主要深度学习方法和源代码的人工智能 (AI) 应用,包括代码智能 (CI) 和编程语言处理 (PLP),以及其在软件工程和教育中的对话助手的应用。还提出了在 AI 与对话助手和 CI 的交叉点上进行研究的机会,并提供了未来的研究方向。
Feb, 2022
本文提出了一种简单的,与模型无关的方法 ——SIVAND,通过简化技术减小 CI 模型输入程序的大小,以识别 CI 系统中模型的关键输入特征,显示出这种方法产生的输出非常小,并广泛适用于许多模型体系结构和问题领域。
Jun, 2021
在这项工作中,我们开始探讨使用深度神经网络对二进制代码理解进行训练的可能性。具体而言,网络将以直接从二进制中派生的特征作为输入,并输出英文功能描述,以帮助逆向工程师调查闭源软件的功能,无论是恶意的还是良性的。我们发现嵌入距离相关性(EDC)测试对于评估数据集值非常有诊断能力,表明我们收集的数据集和一些现有的开源数据集质量较低。
Apr, 2024
本文提出了一种名为 COMPCODER 的三阶段编译反馈机制,采用编译器反馈来生成可编译的代码,实验结果显示该方法的成功编译率从 44.18%提升至 89.18%。
Mar, 2022