More and more high tech companies are struggling with the maintenance of legacy software. Legacy software is vital to many organizations, so even if its behavior is not completely understood it cannot be thrown away. To re-factor or re-engineer the legacy software components, the external behavior needs to be preserved after replacement so that the replaced components possess the same behavior in the system environment as the original components. Therefore, it is necessary to first completely understand the behavior of components over the interfaces, i.e., the interface protocols, and preserve this behavior during the software modification activities. For this purpose, we present an approach to infer the interface protocols of software comp...