Data Structure Analysis A Fast and Scalable Context-Sensitive Heap Analysis.pdf

Data Structure Analysis A Fast and Scalable Context-Sensitive Heap Analysis.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Data Structure Analysis A Fast and Scalable Context-Sensitive Heap Analysis

Data Structure Analysis: A Fast and Scalable Context-Sensitive Heap Analysis Chris Lattner Vikram Adve University of Illinois at Urbana-Champaign {lattner,vadve}@cs.uiuc.edu ABSTRACT This paper describes a scalable heap analysis algorithm, Data Structure Analysis, designed to enable analyses and transformations of programs at the level of entire logical data structures. Data Structure Analysis attempts to identify dis- joint instances of logical program data structures and their internal and external connectivity properties (without trying to categorize their “shape”). To achieve this, Data Struc- ture Analysis is fully context-sensitive (in the sense that it names memory objects by entire acyclic call paths), is field- sensitive, builds an explicit model of the heap, and is robust enough to handle the full generality of C. Despite these aggressive features, the algorithm is both extremely fast (requiring 2-7 seconds for C programs in the range of 100K lines of code) and is scalable in practice. It has three features we believe are novel: (a) it incrementally builds a precise program call graph during the analysis; (b) it distinguishes complete and incomplete information in a man- ner that simplifies analysis of libraries or other portions of programs; and (c) it uses speculative field-senstivity in type- unsafe programs in order to preserve efficiency and scalabil- ity. Finally, it shows that the key to achieving scalability in a fully context-sensitive algorithm is the use of a unification- based approach, a combination that has been used before but whose importance has not been clearly articulated. 1. INTRODUCTION Alias analysis for programs with complex pointer-based data structures has been most successful at guiding tradi- tional low-level memory optimizations. These transforma- tions rely on disambiguating pairs of memory references and on identifying local and interprocedural side-effects of state- ments. In contrast, there has been much less success with tr

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档