You might look at the paper by Palsberg & Tip [2000?], who investigate the precision of several different algorithms for constructing call graphs for Java programs. --Mitch