通过神经机器翻译实现可重定向反汇编
本文介绍了一种新的学习方法,称为 NeurDP,以处理被编译优化的二进制文件的反编译问题,并以图神经网络模型将低级程序语言转换为中间表示,从而实现更好的翻译性能,经评估结果表明,NeurDP 可以比最先进的神经反编译框架的准确率高出 45.21%。
Jan, 2023
在这篇论文中,我们提出了使用无监督机器翻译的最新方法来训练一种全自动的神经源代码转换器,并演示了它在 C ++,Java 和 Python 之间以高精度翻译功能。
Jun, 2020
本文提出了一种新的方法,使用低级别的编译器中间表示 (IR) 来提高代码的翻译质量,不同于使用传统转换方法的手工指定规则,使用神经机器翻译 (NMT) 方法进行翻译,并将 IRs 作为中间变量,能够在 C ++,Java,Rust 和 Go 语言中获得自然的翻译结果,平均提高正确翻译数 11%,在一些语言对中高达 79%,同时还将 IRs 用作翻译的中间枢轴。
Jun, 2022
本文综述了 NMT 在代码生成中的应用,包括自然语言描述、二进制或汇编语言、源代码部分表示和其他语言的源代码等方面的输入。并且列举了已经探索的多种不同的方法和模型架构、优化技术、数据集和评估方法,最后讨论了现有方法的局限性和未来研究方向。
May, 2023
本文研究了利用大型预先训练的源代码模型来对反编译二进制文件的函数进行自动摘要,建立了一个包含多种编译器优化的数据集 CAPYBARA,进一步生成了合成数据集来优化模型性能,并创造了 BinT5 模型,成功地用于反汇编二进制代码中。
Jan, 2023
通过发表首个开源的用于反编译的大型语言模型 (LLMs),以及引入考虑重新编译和重新执行性能的第一个数据集 Decompile-Eval,本研究从程序语义的角度评估了反编译模型。实验证明,LLM4Decompile 能够准确反编译 21% 的汇编代码,这相较于 GPT-4 有了 50% 的改进。
Mar, 2024
本文提出了一种名为 COMPCODER 的三阶段编译反馈机制,采用编译器反馈来生成可编译的代码,实验结果显示该方法的成功编译率从 44.18%提升至 89.18%。
Mar, 2022
本文提出了通过代码摘要和生成实现反向翻译的方法,该方法通过自然语言(NL)摘要生成源代码,然后通过源代码再生成目标语言。结果表明,该方法与现有的最先进方法相比性能相当好。
May, 2022
该论文提出通过迭代回译的方法,借助已有的高资源编程语言(C++)的代码 - 伪代码数据,将训练好的 C++-to - 伪代码模型迁移到没有对应数据的遗留编程语言(C)上,从而实现对其代码的自动描述,取得了 23.27% 的成功率提升。
Mar, 2023
在本文中,我们提出了一种名为 Code Distillation(CoDist)的新模型,通过捕捉代码的语义和结构等价性,在语言不可知的中间表示中翻译代码,并通过构造并应用蒸馏编译器实现针对任何编程语言的并行语料库,从而在 CodeXGLUE 和 TransCoder GeeksForGeeks 翻译基准测试上实现了最新的性能,与 TransCoder-ST 相比,在 TransCoder GeeksforGeeks 翻译基准测试上平均绝对增加了 12.7%。
Oct, 2023