The Fugue protocol checker: Fugue is a defect detection tool for managed code that checks metadata (IL code) for problems with resource leaks, dangling resource references, and problems with method call ordering. Fugue captures as custom attributes many of the rules for using an interface or class and ensures that client code obeys those rules.