Reasoning About Function Objects

Free registration required

Executive Summary

Modern object-oriented languages support higher-order implementations through function objects such as delegates in C#, agents in Eiffel, or closures in Scala. Function objects bring a new level of abstraction to the object-oriented programming model, and require a comparable extension to specification and verification techniques. The authors introduce a verification methodology that extends function objects with auxiliary side-effect free (pure) methods to model logical artifacts: pre-conditions, post-conditions and modifies clauses. These pure methods can be used to specify client code abstractly, that is, independently from specific instantiations of the function objects.

  • Format: PDF
  • Size: 241.5 KB