Scalability of software engineering methods can be improved by application of the methods to individual components instead of complete systems. This is, however, possible only if a model of interaction between each component and its environment (rest of the system) is available. Since constructing formal models of interaction by hand is hard and tedious, techniques and tools for automated inference of the models from code are needed. We present a technique for automated extraction of models of component-environment interaction from multi-threaded software systems implemented in Java, which is based on state space traversal. Models are captured in the formalism of behavior protocols, which allows to express parallel behavior explicitly. Java PathFinder is used to perform the state space traversal. We have implemented the technique in the Java2BP tool and applied the tool on two non-trivial software systems to show that our approach is feasible. Categories and Subject Descriptors D.2.4 ...