[发明专利]一种基于汇编表征的智能化二进制编译信息推断方法有效
申请号: | 202110372215.6 | 申请日: | 2021-04-07 |
公开(公告)号: | CN112860266B | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 陈立庚;何钟灵;茅兵 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06N5/04 |
代理公司: | 重庆市诺兴专利代理事务所(普通合伙) 50239 | 代理人: | 刘兴顺 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 汇编 表征 智能化 二进制 编译 信息 推断 方法 | ||
1.一种基于汇编表征的智能化二进制编译信息推断方法,其特征在于,包括以下步骤:
S1、建立推断模型,收集大量基于汇编语言的语料信息,进行基于汇编信息的智能化结构推断模型的建立,模型包括前端源码解析器和解码器、中端分配优化寄存器和后端目标代码生成翻译器;
S2、汇编表征优化,通过编译信息的多任务或迁移学习的表征共享对模型进行表征学习的输入值优化,通过表征学习提高推断模型的可解释性,对模型结构进行探查优化,通过最小化损失函数求解偏导数,将导数通过输入数据的结构和给定的标签输出来优化推断模型的各模块;
S3、推断模型的学习优化,对数据预处理后,通过优化后的输入向量对推断模型进行反向推导模型学习,优化模型的二进制翻译能力;
S4、基础编译,通过模型对源码编译信息的输入优化,将编译芯中冗余访存指令进行去重,筛选出重要编译信息,对数据进行预处理,将二进制汇编语言程序进行整理后,并优化模型通过解码器进行静态预翻译;
S5、中间指令转换,通过源文件解析器对和前端解码器对编码进行逐条对原平台指令进行解码,根据译码器分析出的前端源指令,生成相同语音的中间指令,并将原平台二进制代码翻译成中间代码;
S6、中端分析优化,将反应后的中间代码与平台端的无关信息进行优化;
S7、二进制编译信息生成,后端目标代码通过后端翻译器将终端代码翻译成目标平台的二进制代码,并在翻译后通过译码器分析生成指令,并在二进制信息指令输入后,找到所有的入口指令,对入口指令进行标记,在遇到入口指令指针时进行地址变量转换,对标记之间设置未知阈值,观察不同模块之间的公共阈值,通过公共阈值的值进行模型反推,通过模型对剩余空白信息进行动态翻译,翻译结果后得到编译推断后的二进制编译信息。
2.根据权利要求1所述的一种基于汇编表征的智能化二进制编译信息推断方法,其特征在于,所述S1中语料信息相互之间通过共享实现数据交互,且共享方式包括硬共享、软共享、层次共享和共享私有模式。
3.根据权利要求1所述的一种基于汇编表征的智能化二进制编译信息推断方法,其特征在于,所述S6中间代码的优化包括活性分析,通过对程序入口点、分支指令的下一条指令、分支指令的目标地址进行规则基本块的划分,并对基本块在编译器中的临时变量的活跃进行活性分析。
4.根据权利要求1所述的一种基于汇编表征的智能化二进制编译信息推断方法,其特征在于,所述S6中间代码的临时变量优化为虚拟寄存器分配,且采用对虚拟寄存器个数划优先级,并通过优化算法进行寄存器分配,做回写处理,引入冗余访存指令,将寄存器设为循环块位于循环体内,执行频率P=1000,当循环块对指令寄存器分配时,循环块头尾添加有访存指令,满足循环体内部的积存需求。
5.根据权利要求1所述的一种基于汇编表征的智能化二进制编译信息推断方法,其特征在于,所述S4中冗余访存指令是指对同一个内存地址的读或者写指令,且该地址的值仍保留在同一寄存器中,当前访存指令即可定义为冗余访存指令。
6.根据权利要求1所述的一种基于汇编表征的智能化二进制编译信息推断方法,其特征在于,所述S2中多任务表征共享优化包括,假设有S个相关任务,且第s个任务的训练集为Ds,包含Ns个样本,假设这S个任务对应的模型分别为f1(X;θ),f2(X;θ)...fs(X;θ),且1≤s≤S,其中,x表示随机变量,θ表示包含了共享模块和私有模块在内的所有参数,多任务学习的联合目标函数为所有任务损失函数的线性加权,权重根据不同任务的重要程度来赋值或根据任务的难易程度来赋值。
7.根据权利要求6所述的一种基于汇编表征的智能化二进制编译信息推断方法,其特征在于,所述任务设置相同的权重ηs,其中ηs=1,1≤s≤S。
8.根据权利要求1所述的一种基于汇编表征的智能化二进制编译信息推断方法,其特征在于,所述S3中推断模型的优化包括通过BP算法对输出端和输入端数据进行输入后,逐次调整前端源码解析器和解码器、中端分配优化寄存器和翻译器进行阈值优化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110372215.6/1.html,转载请声明来源钻瓜专利网。