Precise Null-Pointer Analysis