A key aspect of the Object-Oriented (OO) approach is that a designer can enrich an OO system by providing suitable (re-)definitions for some of the methods of the given system. Application frameworks provide good examples of such enrichment. An OO framework typically provides a number of template methods that implement specific patterns of calls to hook methods. An application developer can customize the framework by simply providing definitions, suited to the needs of the particular application, for the hook methods. The calls, made by the template methods of the framework, are dispatched at run-time to the hook methods defined in the application, thereby customizing the behavior of the template methods as well. Testing such systems should include testing the hook method call-patterns of the template methods, that is their grey-box behavior. But software vendors often do not provide the source code of their systems. This poses the challenge, how can we test the grey-box behavior ...