System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于实时系统,涉及一种分段式多路径任务的概率时序分析方法。
技术介绍
1、由于现代计算架构的复杂性日益增加,估计最坏情况执行时间(wcet)已成为实时系统的关键问题。实时系统中的任务通常是多路径的,它们在不同输入下的执行时间不同,因为输入会改变任务在控制流图中的执行路径。执行时间的可变性使得统计方法适用于wcet分析,概率最坏情况执行时间pwcet分析方法应运而生。
2、pwcet分析的意义在于根据观测值获取pwcet。该方法保证了任务实际执行时间超出给定pwcet的概率为p,从而满足能够在小概率条件下容忍实际执行时间超过给定wcet的嵌入式实时系统的安全性需求。
3、现有的混合概率时序分析(hypta)方法通常使用一些静态分析方法将任务拆分成组件,随后基于测量方法与evt生成组件的pwcet分布,最后聚合组件分布生成任务的pwcet分布。使用混合分析方法计算pwcet的文献已发表很多,比如:
4、2002年,bernat等人从代码结构角度出发,定义了顺序结构、分支结构、循环结构下的分布函数卷积规则,用以支持混合分析方法中的pwcet分布合成阶段。
5、2009年,zolda等人提出了一种任务划分方法,它能够将控制流图划分为一组子图,其中每个子图的节点都是任务段,每个任务段包含一组原始控制流图中的节点与边,且只有一个入口与一个出口。
6、中国专利“cn104572103b一种基于分布函数的最坏执行时间wcet快速估计方法,通过静态分析反汇编文件获取程序的基本块
7、上述传统静态分析方法存在以下问题:
8、1.软件问题:新增的程序语言特性使任务内所含的间接转移指令数增大,造成控制流分析的困难,并且任务的控制流图会随软件结构复杂化扩大,存在路径爆炸的问题。这增加了求解过程的复杂性。
9、2.硬件问题:处理器内部的流水、乱序、cache、mmu等结构机制复杂,硬件状态的不确定性增加,阻碍了硬件建模过程。
10、基于测量的分析方法和混合分析方法虽然在一定程度上能够弥补传统静态分析方法的不足,但它们也存在一些问题。传统基于测量的分析方法存在随机化抖动源困难的问题,随机化并不能完全覆盖程序的状态空间。
11、混合分析方法分别在任务划分、pwcet分布聚合两方面入手,进行任务的pwcet分析。但任务划分方面没有提出较为可靠的划分方法,且在复杂度验证上没有做过多探讨。在pwcet分布聚合方面,通常使用卷积进行各类程序结构下的聚合,但由于极值分布的卷积的复杂性,该方法难以适用于连续型pwcet分布。
12、中国专利cn104572103b提供的技术方案使用pert模拟每条指令运行时间的期望值和方差,效率较低,且模拟的结果并不能完全代表真实硬件平台上的表现。其构造的加权程序流图中基本块执行次数需要事先人为估计确定,这为最后的估计值带来了不可靠因素。
技术实现思路
1、为解决上述技术问题,本专利技术的目的是提供一种分段式多路径任务的概率时序分析方法。
2、本专利技术提供一种分段式多路径任务的概率时序分析方法,包括如下步骤:
3、步骤1:生成目标多路径任务的控制流图;
4、步骤2:基于目标多路径任务的控制流图构建函数级控制流图;
5、步骤3:以步骤2获得的函数级控制流图和函数级控制流图中待分段函数名称合集作为输入,寻找各个待分段函数的割点,输出分段结果;
6、步骤4:执行目标多路径任务,收集待分段函数各个任务段的执行时间,基于极值理论进行单个任务段的极值分布参数估计和目标多路径任务的pwcet分布估计。
7、进一步的,所述步骤1具体为:
8、步骤1.1:使用angr工具生成的控制流图,去除控制流图的plt函数、hook函数、angr工具自定义名称的函数以及包含未解析跳转指令的基本块;
9、步骤1.2:检测控制流图合法性,即该控制流图必须仅存在一个入口以及一个出口;
10、步骤1.3:最终生成合法的、修剪后的目标多路径任务的控制流图。
11、进一步的,所述步骤2中根据目标多路径任务的控制流图的基本块及其控制流信息重建一个函数级控制流图,重建过程将不展开控制流图中的函数调用,具体为:
12、步骤2.1:获取修剪后的目标多路径任务的控制流图;
13、步骤2.2:获取目标多路径任务的控制流图的一个函数,复制该函数的属性到函数级控制流图中;
14、步骤2.3:获取函数中的一个基本块,判断其合法性,即其值是否为空;若不合法,选取下一个基本块;若合法,复制基本块的属性到函数级控制流图中;
15、步骤2.4:选取基本块的一个后继者,若其代表一个基本块对象,则添加到当前基本块的后继者列表中;若其代表一个函数对象,如果后继者首地址和当前基本块所属函数地址相同,则该函数是递归函数;如果不相同,则添加函数名到当前基本块调用列表中,不展开分析这个后继者所代表的函数对象;
16、步骤2.5:重复步骤2.4,直到基本块所有后继者都被处理完;
17、步骤2.6:重复步骤2.3和2.4,直到函数所有基本块都被处理完;
18、步骤2.7:重复步骤2.2至2.4,直到目标多路径任务的控制流图的所有函数都被处理完,最终获得函数级控制流图。
19、进一步的,所述步骤3具体为:
20、步骤3.1:取出函数级控制流图中一个待分段函数;
21、步骤3.2:通过深度优先搜索算法,找到函数级控制流图中从待分段函数的起始点到待分段函数返回点的一条无环路径;
22、步骤3.3:对于无环路径上的每个节点sp,起始节点不经过节点sp能访问到的节点集合为i,节点sp能访问到的节点集合为p;若i和p的交集为空集,则该节点sp是一个分割点;
23、步骤3.4:输出待分段函数的所有分割点,以分割点地址作为待分段函数的分段依据;
24、步骤3.5:重复步骤3.1至3.4,输出函数级控制流图中所有待分段函数的分段结果。
25、进一步的,所述步骤4具体为:
26、步骤4.1:取出一个待分段函数的分段结果;
27、步骤4.2:在待分段函数各个任务段的起始处设置uprobe,在待分段函数返回点设置一个uretprobe;为每个任务段创建一个空列表,用于存储执行时间数据;
28、步骤4.3:重复步骤4.1和4.2,将函数级控制流图中所有待分段函数设置完毕;
29、步骤4.4:多次执行目标多路径任务,收集多个trace信息,trace信息包括所有待分段函数的所本文档来自技高网...
【技术保护点】
1.一种分段式多路径任务的概率时序分析方法,其特征在于,包括如下步骤:
2.如权利要求1所述的分段式多路径任务的概率时序分析方法,其特征在于,所述步骤1具体为:
3.如权利要求1所述的分段式多路径任务的概率时序分析方法,其特征在于,所述步骤2中根据目标多路径任务的控制流图的基本块及其控制流信息重建一个函数级控制流图,重建过程将不展开控制流图中的函数调用,具体为:
4.如权利要求1所述的分段式多路径任务的概率时序分析方法,其特征在于,所述步骤3具体为:
5.如权利要求1所述的分段式多路径任务的概率时序分析方法,其特征在于,所述步骤4具体为:
6.如权利要求5所述的分段式多路径任务的概率时序分析方法,其特征在于,所述步骤4.6具体为:
【技术特征摘要】
1.一种分段式多路径任务的概率时序分析方法,其特征在于,包括如下步骤:
2.如权利要求1所述的分段式多路径任务的概率时序分析方法,其特征在于,所述步骤1具体为:
3.如权利要求1所述的分段式多路径任务的概率时序分析方法,其特征在于,所述步骤2中根据目标多路径任务的控制流图的基本块及其控制流信息重建一个函数级控制流图,重建过程...
【专利技术属性】
技术研发人员:张轶,李子豪,李来文,邓庆绪,王艺霏,
申请(专利权)人:东北大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。