Evaluating precision and soundness of pointer analyses has been a tedious task. This is because of a missing ground truth. The ground truth for pointer analyses hold the information about (1) where an object may/must have been created and (2) what are its may/must aliases. On arbitrary programs, this information can hardly be retrieved. That is why we created PointerBench.
PointerBench is an open benchmark suite for various types of pointer analyses. It consists of various small test programs. Each of them is designed to test pointer analyses strength and weaknesses (Field, Flow or Context-Senstivity). Different aspects are separated from each other (as far as possible).
The test cases contain special function calls (see instructions below). The statement and argument of the function calls describe the variable to test and its aliases. To test different analyses, these function calls must be parsed and interpreted. These deliver input and output to the analyses.