Using Data Groups to Specify and Check Side Effects

  • Rustan Leino ,
  • Arnd Poetzsch-Heffter ,
  • Yunhong Zhou

PLDI'02, June 17-19, 2002, Berlin, Germany |

Publication | Publication

Reasoning precisely about the side effects of procedure calls is important to many program analyses. This paper introduces a technique for specifying and statically checking the side effects of methods in an object-oriented language. The technique uses data groups, which abstract over variables that are not in scope, and limits program behavior by two alias-confining restrictions, pivot uniqueness and owner exclusion. The technique is shown to achieve modular soundness and is simpler than previous attempts at solving this problem.