当前位置:澳门新葡亰登入 > 热门新闻 > 下一场从workList中抽取第一个要素

下一场从workList中抽取第一个要素

文章作者:热门新闻 上传时间:2020-04-21

前几日连任提交读程序笔记,此次少之甚少,並且相对简便易行些。


ConnectorComputation - compute(卡塔尔(قطر‎假如workList还应该有元素,就三番五次循环,可是首先次跻身循环时候遵照架构方法来看workList独有三个成分mainFunction, emptyCallString。然后从workList中抽出第一个因素,获取TacFunction和CallString(gamma卡塔尔,依照TacFunction(pState of Qatar从function2ECS中取得ECS(ecs_pState of Qatar,实际上那个时候functions2ECS中率先个元素对应的TacFunction即为_main。得到gamma在ecs_p中的义务,正是在叁个CallString的链表中的地点随后,将p那么些TacFunction满含的富有的CfgNodeCall迭代叁遍,对于每一个callNode,得到其callee(即被调用的函数q卡塔尔,在q!=null的情形下,以callNode创建多少个新的CallString(gamma_2),从function2ECS中得到q对应的ECS(ecs_q),获取ecs_q中gamma_2的位置,如果为-1,就将gamma_2添加到ecs_q的CallStrings队列中去,并以q和gamma_2确立成分加多到workList中去,expand it。 接下来扩展什么ConnectorFunction因为都在for循环里面,是对部分变量的操作,所以并未怎么用项。 在while循环甘休以后,调用makeCallGraph(卡塔尔国方法。 - makeCallGraph(卡塔尔国首先以mainFunction最初化叁个CallGraph,获得mainFunction所蕴藏的艺术调用列表processUsCfgNodeCall,并创设二个以访谈的会集visited,将mainFunction加多进集结里边。 当processUs不为空,依次抽出成分callNode,得到它的caller和callee,假诺callee!=null,向callGraph中增多元素。假使callee还尚无被拍卖过,则将其所包涵的具有函数调用加多进processUs,并将其放进visited。


澳门新葡亰网站所有平台,Checker 依据初始提供的run-all.bat的参数来看,实际上aliases analyze和literal analyze并不曾张开,只是gta.analyze(卡塔尔(قطر‎举行了,实际上也正是只有dependance analyze执行了。通过的话关系最终决定vulns。

本文由澳门新葡亰登入发布于热门新闻,转载请注明出处:下一场从workList中抽取第一个要素

关键词: