Using data groups to Using data groups to specify and check specify and check side effects side effects K. Rustan M. Leino Microsoft Research Arnd Poetzsch-Heffter Universität Kaiserslautern Yunhong Zhou HP SRC Work done at Compaq SRC 18 June 2002 PLDI’02, Berlin, Germany
17
Embed
Using data groups to specify and check side effects K. Rustan M. Leino Microsoft Research Arnd Poetzsch-Heffter Universität Kaiserslautern Yunhong Zhou.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Using data groups to Using data groups to specify and check side specify and check side
effectseffectsK. Rustan M. LeinoMicrosoft Research
AbstractionAbstraction Theory work on Simula [Hoare 1972]Theory work on Simula [Hoare 1972] Aspect [Jackson 1995]Aspect [Jackson 1995] ESC/Modula-3 specifications [Leino & Nelson ESC/Modula-3 specifications [Leino & Nelson
1998]1998] Alias confinementAlias confinement
Islands, Balloons, Flexible alias protection, Islands, Balloons, Flexible alias protection, …… Linear types, Cqual, capabilities, Vault, Linear types, Cqual, capabilities, Vault, …… Alias burying [Boyland 2001]Alias burying [Boyland 2001] Universe types [MUniverse types [Müller & Poetzsch-Heffter üller & Poetzsch-Heffter 2002]2002]
Summary of approachSummary of approach
modifies clausesmodifies clauses data groupsdata groups in, maps intoin, maps into alias-confinement restrictions:alias-confinement restrictions:
ConclusionConclusion Knowing side effects has many applicationsKnowing side effects has many applications Specifying and checking side effects in Specifying and checking side effects in
modular setting is a difficult problemmodular setting is a difficult problem Data groups plus alias-confinement Data groups plus alias-confinement
restrictions provide a solutionrestrictions provide a solution
Sound formalization (Sound formalization (oolong oolong )) Implemented checker (Implemented checker (oolong oolong )) Current work: build checker for C# Current work: build checker for C# (with Viktor (with Viktor
Kuncak)Kuncak)
Needs: extension to arrays, …?Needs: extension to arrays, …?