Abstract | The permitted sequences of method calls in an object-oriented component interface summarize how to correctly use the component. Many components lack such documentation: even if the documentation specifies the behavior of each of the component's methods, it may not state the order in which the methods should be invoked. This paper presents a dynamic technique for automatically extracting the legal method call sequences in a component interface, expressed as a finite state machine. Compared to previous techniques, it increases accuracy and reduces dependence on the test suite. It also identifies certain programming errors. |