Annotations allow programmers to express design intent. A system of quasi-linear fractional permissions can support a wide range of program annotations; however, checking the fractional permissions is nontrivial. Permission checking can be approximated, with formal rules and a fully implemented control flow analysis, well enough to accurately check uniqueness and effects annotations. |