一句话:提出 STraceBERT,用 Java 动态分析记录的库调用踪迹预训练 BERT 风格模型,实现从候选集中检索方法源代码。
软件逆向工程是软件工程与安全领域的重要任务,但面对对抗性构件时过程尤为困难,其中从候选集中定位方法源代码是关键挑战。本文提出 STraceBERT:先利用 Java 动态分析工具记录程序对核心 Java 库的调用,得到语义应用踪迹(semantic application traces),再在此类踪迹上预训练一个 BERT 风格模型,用于方法源代码检索。实验将 STraceBERT 与现有方法进行对比,结果表明其在源代码检索任务上更为有效。该工作为软件逆向工程中的代码检索问题提供了一条有前景的技术路线,也为该方向的后续研究开辟了新的空间。
Software reverse engineering is an essential task in software engineering and security, but it can be a challenging process, especially for adversarial artifacts. To address this challenge, we present STraceBERT, a novel approach that utilizes a Java dynamic analysis tool to record calls to core Java libraries, and pretrain a BERT-style model on the recorded application traces for effective method source code retrieval from a candidate set. Our experiments demonstrate the effectiveness of STraceBERT in retrieving the source code compared to existing approaches. Our proposed approach offers a promising solution to the problem of code retrieval in software reverse engineering and opens up new avenues for further research in this area.