Modular verification of higher-order methods with mandatory calls specified by model programs

Steve M. Shaner, Gary T. Leavens, David A. Naumann · 2007

What we call a''higher-order method" (HOM) is a method that makes mandatory calls to other dynamically-dispatched methods. Examples include template methods as in the Template method design pattern and notify methods in the Observer pattern. HOMs are particularly difficult to reason about, because standard pre- and postcondition specifications cannot describe the mandatory calls. For reasoning about such methods, existing approaches use either higher order logic or traces, but both are complex and verbose.

Read the paper · More papers on PaperTik