This paper presents a new client-driven pointer analysis algorithm that automatically adjusts its precision in response to the needs of client analyses. Using five significant error detection problems as clients, we evaluate our algorithm on 18 real C programs. We compare the accuracy and performance of our algorithm against several commonly-used fixedprecision algorithms. We find that the client-driven approach effectively balances cost and precision, often producing results as accurate as fixed-precision algorithms that are many times more costly. Our algorithm works because many client problems only need a small amount of extra precision applied to selected portions of each input program.
Client-driven pointer analysis analyzes the needs of a particular client and applies flow-sensitive pointer analysis only to portions of the program that require that level of precision REF .
Error checking with client-driven pointer analysis
Science of Computer Programming
Computer Science