Adabot:容错 Java 反编译器
医学物理
2019-08-20 v1 系统与控制
系统与控制
摘要
逆向工程(RE)一直是软件工程中的一项基础任务。然而,大多数传统 Java 逆向工程工具严格基于规则定义,因此不具备容错性,当系统中引入噪声与干扰时会带来严重问题。本文将逆向工程视为统计机器翻译任务而非基于规则的任务,并提出了一种基于机器翻译模型的容错 Java 反编译器。我们的模型基于注意力神经机器翻译(NMT)与 Transformer 架构。首先,我们在冗余与净化数据集上衡量翻译质量。接着,我们在具有不同单元错误概率(UEP)的测试集上评估框架的容错性(抗噪能力)。此外,我们比较了不同分词算法对反编译任务的适用性。实验结果表明,与传统的基于抽象语法树(AST)的反编译器相比,我们的模型更鲁棒且容错性更好。具体而言,在 BLEU-4 和词错误率(WER)方面,我们在冗余测试集上分别达到 94.50% 和 2.65%;在净化测试集上分别达到 92.30% 和 3.48%。
引用
@article{arxiv.1908.06749,
title = {On Using Signal Magnitude in Diffusion Magnetic Resonance Measurements of Restricted Motion},
author = {Alpay Özcan},
journal= {arXiv preprint arXiv:1908.06749},
year = {2019}
}