[发明专利]一种线性汇编级的可配置容错方法、计算机、计算机程序有效
申请号: | 201711241004.9 | 申请日: | 2017-11-30 |
公开(公告)号: | CN108171016B | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 谭庆平;李盼盼;邓锦洲;徐建军;邵则铭;曾平;张南;孟宪凯;张浩宇;唐国斐;谢勤政;颜颖;刘鑫昊 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F11/14 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 夏艳 |
地址: | 410073 湖南省长沙市砚*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于计算机软件加固技术领域,公开了一种线性汇编级的可配置容错方法、计算机、计算机程序,将程序代码划分为若干个基本块;所有变量重命名;计算每个变量的复算效率;计算每个变量的影响因子;对全部变量进行排序并选取部分进行可配置容错。本发明基于寄存器生命周期、进行加固所需添加的指令条数、影响的其他寄存器数量的情况,提出复算效率和影响因子两个评价指标,并提供计算方法与依据其进行可配置加固的方法,对寄存器的重要程度和加固难度进行了全面的考量,提出了更全面、性价比更高的可配置加固方法。 | ||
搜索关键词: | 一种 线性 汇编 配置 容错 方法 计算机 程序 | ||
步骤一,将程序代码划分为若干个基本块;
步骤二,所有变量重命名,位于不同的基本块内的同名变量重命名进行区分以增加可配置容错的粒度;对于所有的变量,设其原名称为var,所处的基本块编号为b,则将其名称更新为var_b;
步骤三,计算每个变量的复算效率;
步骤四,计算每个变量的影响因子,若变量b是由变量a计算得到的,则变量a影响变量b;若变量a是进入变量b相关计算的基本块的进入条件,则变量a影响变量b;若变量a影响变量b,而变量b影响变量c,则变量a也影响变量c;
步骤五,对全部变量进行排序并选取部分进行可配置容错。
2.如权利要求1所述的线性汇编级的可配置容错方法,其特征在于,所述步骤一包括:(1)初始化,令i=1,j=1,b=1;
(2)判断第i条指令是否为存储或者跳转指令,若是则转(3),否则转(4);
(3)标记第b个基本块开始于第j条指令,结束于第i条指令;将i的值更新为i+1,将j的值更新为i,将b的值更新为b+1,转(2);
(4)将i的值更新为i+1,判断i是否已大于程序的总指令数,若是则转S102,否则转(2)。
3.如权利要求1所述的线性汇编级的可配置容错方法,其特征在于,所述步骤三包括:(1)初始化,令所有变量的生命期及复算次数为0,i=1;
(2)对于第i条指令中进行了读出的每一个变量var,设变量var的生命期为p,变量var的上一次写入位置为w,则将p更新为p+i‑w,更新w为i;
(3)对于第i条指令中进行了写入的每一个变量var,设变量var的复算次数为d,变量var的上一次写入位置为w,则将d更新为d+1,更新w为i;
(4)将i的值更新为i+1,判断i是否已大于程序的总指令数,若是则转S104,否则转(2)。
4.如权利要求1所述的线性汇编级的可配置容错方法,其特征在于,所述步骤四包括:(1)构建变量影响关系图,变量影响关系图是指用一张图G(V,E)来表示变量之间的传递关系,点集合V是所有变量的集合,有向边集合E是所有影响关系的集合;
1)初始化,令i=1;
2)若第i条指令是运算指令或读内存指令,则对于所有源变量var1至varn,在图G中添加其到目的变量var0的一条有向边;
3)若第i条指令是跳转指令,则对于所有跳转条件中的变量cond1至condn,建立其至跳转的目的基本块中的所有被写入的变量var1至varn的一条有向边;
4)将i的值更新为i+1,判断i是否已大于程序的总指令数,若是则转(2),否则转2);
(2)根据变量影响关系图,计算所有变量的影响因子;对于某个变量a,所有在图G中通过若干条边可达的变量b均是受变量a影响的;设点集V为(V1,V2,…Vn);
1)初始化,令i=1;
2)对点Vi进行深度优先搜索,对所有搜索到的不重复的点进行计数,将计数和作为点Vi所对应的变量的影响因子;
3)将i的值更新为i+1,判断i是否已大于V的元素个数,若是则转步骤五,否则转2)。
5.如权利要求1所述的线性汇编级的可配置容错方法,其特征在于,所述步骤五包括:(1)对全部变量按照影响因子从大致小排序,对于影响因子相同的变量按照复算效率从大致小排序;排序后得到的变量序列中,靠前的变量具有更强的容错优先级;
(2)根据容错开销或容错率条件,在变量序列中从前往后选取变量进行容错保护。
6.一种应用权利要求1~5任意一项所述线性汇编级的可配置容错方法的计算机程序。7.一种搭载有权利要求6所述计算机程序的计算机。该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711241004.9/,转载请声明来源钻瓜专利网。
- 上一篇:时效控制的方法和装置
- 下一篇:一种基于硬件的指令集在线加密系统