Pointer Analysis for C Programs Using a Deductive System

Accession number;06A0123131
Title;Pointer Analysis for C Programs Using a Deductive System
Author;CHISHIRO EIICHIRO(Systems Dev. Lab., Hitachi Ltd., JPN)   
Journal Title;Transactions of Information Processing Society of Japan
Journal Code:Z0778A
ISSN:0387-5806
VOL.47;NO.SIG2(PRO28);PAGE.1-17(2006)
Figure&Table&Reference;FIG.13, TBL.10, REF.33
Pub. Country;Japan
Language;Japanese
Abstract;We present a new formalization and implementation of flow/context-insensitive, inclusion-based, field-sensitive pointer analysis for C programs. Although inclusion-based, field-sensitive pointer analysis has high analysis precision which enables many compiler optimizations, whether its practically-efficient implementation is possible or not is still an open question. There exist many optimizations of pointer analysis for C, but most of them are designed for field-independent analysis on a simple language, namely, without struct member expression. It is not trivial to apply these optimizations to field-sensitive analysis on a complex language like full C. Typical implementations become complicated to get high efficiency and this makes it difficult to confirm their correctness. In this paper, we show a formalization of analysis using a deductive system based on a structure of expressions, and its implementation which is simple and highly efficient, both are desirable property for a practical analyzer. The point of our implementation method is the step of rewriting analysis rules to relational algebraic operations, which enables us to use basic optimizations in a relational database. (author abst.)