Modular typestate checking of aliased objects
Kevin Bierhoff, Jonathan Aldrich · 2007
Objects often define usage protocols that clients must follow inorder for these objects to work properly. Aliasing makes itnotoriously difficult to check whether clients and implementations are compliant with such protocols. Accordingly, existing approaches either operate globally or severely restrict aliasing.