Abstracting resource effects

In developing secure programs, reasoning about effects on resources can be hindered by obscure changes in program state. Effect systems mitigate this difficulty by describing these changes, but may require large amounts of low-level effect annotations, and create obstacles for reasoning. To reduce overhead, we propose an effect system, with a focus on system resources, that supports effect abstraction. It is being implemented in Wyvern, a capability-safe language.