Using Data Groups to Specify and Check Side Effects
- Rustan Leino ,
- Arnd Poetzsch-Heffter ,
- Yunhong Zhou
PLDI'02, June 17-19, 2002, Berlin, Germany |
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.