第卷期计算机学报32 9Vol.年月0CHINESJOURALFMPTept激敏感合并指针中科院所系统结构重点实验室北京摘是静态础精度直接影响后续和性用来描述否需区体对象不同成文提出一种法利标器模型数据布局信息行层使地址偏移组表示个能更确还原有类推规则做了尽量避免在变时造损失保证新正将赋值操作转换每大明该显著往而运销几乎当集至间获植键词风格别名srd图号/犇犗犐6犃狀狉犲狊犻狏犾犉犱犛狋犝犳犮犪狅犅犘犵狔YGQ犓犔犫犆犿狆狌犺犜犼bfwvjDxk’狑收稿日:;最终修改到本课题得国家“八六三”高技术研究发展划项目基金以编译为支撑的417可靠软件开工具与环境()资助于洪涛,男生博士主要方向程序分析及优化8Z5mai张兆庆女员导师领域先进相关hyu@cnzqg书
期洪涛:激看相反引言每1 视与例片段{}指针是一种特殊的数据类型,变量用来保犳狅狆狇狊狓存某个程序对象地址允许我们能够间接操作狔!=牔这在语中使非常广泛.C原因表达唯到就途径比如动态分配储另会而可以生成更高效代码将为函参传递组或大结构体普遍从测试析/访所有向位置包括全局PE占百、部区域等平均流问题解决度何直必影响其它很多得好坏此于本文介绍实含别名行静往目基础过去年里研究20标机模布信息应层已经技术重点之至今依然献推导规则活跃领内容主要系避免损失精和时空率做取舍元素建验显集合小衡著开销几乎当出越说明该确低提优化编译器[]运速加上不5%仅性良检错也同样人赖减少形版采公共误报及漏准二十涌现了子前缀立关秀果最具力两借图3工价AndersStga被称风格者致给()敏感情况赋值icluob犻三次方项式复杂即新由考虑并无知道f长犮近线但犵法后都改进思想步扩展YHkp46;些各79D描述否需还利员他没讨论
计学报年9利用目标机器信息改进风格的分析Stensgard.因为这种并不是一平凡,需要算法本身此外再没有工作来域敏感性先定义能赋值语句抽象[10]认缺陷指针Yo如难看和函具将可移植然而在现代编译里我们调都转换成以从模型中得到数据布局尽早地反映·存储犛犕犈#间表示上事实已经Op64取址|提供了样基础展方文配犾狅狋…达式操给出激会图所向狆狀2狌→狉; i犻3犆犃犔fl犳{}uc犪犫犮狊狓犱犲犵〈〉狕=牔->言规范允许直接结构体变量行强制类()之开员果某则个程序C继续内发生起似乎增加码积必即使时它影响长度后面非常于推导系统献首建立套准由组合7应该质且保证正确描述良好wy静态守际运动造每予顺处理条些最终环境就整过还设相对例子情况下IA
期洪涛合析的实施过程,而推导规则就相当于具体分算法本节我们先介绍类型和第再.5941 6用来描述存储对象指向情况为序中8每个赋予一非标准变量该定义如下·α=τ×λ()⊥|blanksimpe狊犻狕犲truc犿oj犱…狀+〈〉狅犳狋→g值或者是函数犵针改包括出现、组结构以及堆IA称表示种并:同因此给果什么目前未知;整虽然2两它但长度上3映射关系所有可能正确性由流敏感注销保域成员到二元偏移证某素致弱新何配布局无得这质记载了形参时良好wyd返回信息静态图例子经之后守地际运行动造其些间基利设计比文献[]更简单也激7去进处在将机器模据解释全等价应统另被刻画别名说块不区空狆狇狉犼部{}犪犫犮0∨!牔∧"
计算机学报年7 09分等价的,即狅!发生只能自12.种情况狋"表示类型变量对应存储象指向是条件相同概念将在后文解释首地址作接下来我们定义规则每含进行引用图最a处理一程序语句时必须保证使约束被满足标提升方式就唯:犃犕犈节介绍无论哪τ5靠()狑犲犾狔狆犱=当前环境经过之为了良好犮此和函ME多限制部关系要求显堆建模所通而不全出于针精度考虑例如片段;犪4狓∈狀果具有那么…完实际上这并严格整个中任何或其它某析犫得到也可以会λ[3]结更详细因犳狌→意思说否空_/simple×狊犻狕objct牔二ru犿犉狉6′两子间取共组成第明+别名构体起始域员样做合由赋值都内数据调⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥⊥
期洪涛:激敏感9之后,形参和实的指向必须条件相同返回值犿也3F犕犈.这类型规则保证我们针分析是守6与文献[]区别允许7具有由中间表示改进struc体系将在下一节介绍推导5 映射第域员果此还那么其提升过程就等于个良好序环境本要如何行犪犾狅犮能够约束成立以及部关"⊥风格种基价Sengadk()阶段运qivlb并查集数据结构上of4…每变量用际不交合两狆狀被认为=处使操作来设计函完j对!达式都_利可犳狌→狉先定义然再解释所到辅助伪代码附录施而当算法1h2狋GECR≠获得存储象或似赋牔取某地址给ypmτ×λ狊犻狕犲+
学报年89[…] for犻∈1狀d构采_(,)cjine犲狋能够降低分析空开销+某本没程序函数调用相当于一些列赋值语句首先将点处就需建立配实参给应的形然后返回其次犕犈.节52犼狅省间出现合并使查集上操作直接新表示两个类型变量不交成原再计算uy组3体系第述刻画4我们定义来tpha区具帮助如图元素方法忽略下狆狇狉0!同假设记是文献中规b7Ss种正确由流敏感等价被之g注在要或高这整弱更为和会ml也完例;{}犪犫犮狊它重叠=牔里利信根据则保证指向以及息精尽减少别名样导致效比较进而所有域员都全准判断情况做激可避免因只另必须提升仅携带起存储布局与目标机器模从始顺关续结果还认互惰性映射生犳犵得到对象GECR那么无技术LzFM获该遇时才此加入至部"即
期洪涛条件合并两个类型变量的指向_实现一通过.cjoinref样要以图()体系为依据出大5a只需它们即可完从smpl同也言使很普遍bt而当某是时候,u占百情况看上去有点复杂正如之前介绍规则2最少多达平均%9和推导分析那由于中间表示赋值语句都在内定义数发生所直接对结构象操作被转化其相应域成员zv8因此针具能来自种:将首地址第1然后解引用qk标提升方式就唯无论哪取际x果还wh文献[]保证约束立必7犪"犫高或等么这会致原全部除外每与验6 展我编译器了敏感O4基法及本SgdF激进连带着不A3行比例I各列含【测试】程序名涉别储位置访存问统计PEC0集若干得到狊!狆->
计算机学报年所以选择列【间接域访存数】作为衡量对象而不可能性根据制了一是因区分直成员操否归化方图激进敏感别名很容易的,且大部都通过参考如看106指针完类值越表明两条远高于即它够.几率小要显多平均用去除在上相比有得来代每个中同程提其超半例子幅我们析精度倍说出种基合并较2 3测试最时4gzip759vr8cmesatfqukloxbwnhj到()实验序做更没增加C开销原尽避免之本当减少另采AFS
期洪涛等惰性域成员映射技术来降低分析的时空开销或者称风格非.我们还将这种指针结果应用于构建完整常广泛流3过程调图在上,对函数优具接近线间复杂8点被实例化该所有向象文献改允许互赋值两D因此会添加相边第级从二测试始要率17mesa效差极为明显中共处6利增FI条平均每了本人其形295版采最公前缀4S0立类型之系Y比几乎没提高而思想扩展给同A解只些推各确精度大约倍著与当序特征发现个都是围绕目标机器信息着体模他认样缺陷GLcontx 犆移植且讨论何进行访存操作绝多变量由凡P不敏感使看一表示虽然算更但子并步原得出通_获定义如下glhrd()vi激{往;狆犻犱狋面:据布局=犵犲f<犕犃犡犜犎犚犈犇犛+层储受益[]犺狉犪犐编译灵活框架又Opu狅狀狓}尽避免造损失犖犝犔生能地可以返回组元素迟省刻画区节述也就说bj验无法C运则做到关工参考基合方式yR
计算机学报年anlysidothermbgufC/pPcAMSIGLN201VD.,:wU4758[]OzvK9Rx3BTF6HkYJEZ()QW附录 合并函数以及推导规则中用到的辅助伪代码j犲=⊥{}←∪τ×λ狊犻狕≠狋犿〈〉狅→狓∈_
期于洪涛等激进域敏感基合并的指针分析97(,)cjoinτ2λ[]: stru犿〈〉le狅1狊→=Ffyp_mb3×犻狕犲ad4…狀+′∈狋犪狆NwMAPLvgkECRh←
计算机学报年74(〈,〉)ifnotverlap狅1狊s犿犪狆→τ3=mgMkECRj2 !狋dy←G犕犈c[]:狓u×λ犻狕犲NwAP0犳Fb_⊥h犢犝犎狀犵犜98.D犣犃犖犌犺犙Hz
期于洪涛等:激进域敏感基合并的指针分析97犅犪犮犽犵狉狅狌犱 PointeralyskdfpgmchquwAxv.FbLj,O’BC+M“HRS”N()863201Z5TD4Iz