Towards a practical shape analysis for recursive data structures.
详细信息   
  • 作者:Lee ; Sang Ik.
  • 学历:Doctor
  • 年:2011
  • 导师:Eigenmann, Rudolf,eadvisorMidkiff, Samuel P.ecommittee memberVijaykumar, T. N.ecommittee memberLi, Zhiyuanecommittee member
  • 毕业院校:Purdue University
  • Department:Electrical and Computer Engineering
  • ISBN:9781124984179
  • CBH:3481072
  • Country:USA
  • 语种:English
  • FileSize:1240759
  • Pages:95
文摘
Pointers are variables that store addresses of other variables. Pointer analysis determines what addresses can be stored in pointer variables. Many compiler optimizations need to check if different operations may access the same memory location. The presence of pointers makes this task difficult, because they allow different accesses to reference same location. Variables have types and some types contain other variables called fields. Shape analysis is a specialized pointer analysis that determines structural properties of data structures connected by pointer fields. Recursive data structures, such as linked lists and binary trees, are created by objects of self-referential types---types that contain fields pointing to variables of the same type. Many shape analysis algorithms are based on graphical abstractions. They use node summarization algorithms, based on predefined patterns between neighboring objects, to summarize unknown-size data structures. An object can be part of only a single pattern. These algorithms do not scale well for self-referential types with many pointer fields; where objects do not have perfect matching patterns, some fields end up being represented inaccurately. To overcome this problem, we present an abstraction based on path aliasing information, called alias relationships. An object can be part of multiple alias relationships. We present a systematic way of defining alias relationships and a shape analysis algorithm based on these relationships. Our results are promising, showing improved accuracy compared to state-of-the-art alternatives on multiple programs using recursive data structures with many pointer fields. We also provide an overview of another contribution, the Cetus compiler infrastructure which we developed to facilitate various compiler research. Our algorithm is implemented using Cetus.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700