Mining temporal program properties Andreas Zeller Saarland University http://www.st.cs.uni-sb.de/zeller/ Abstract: When using an API, programmers not only need to take care of issuing the correct calls with the correct arguments. Often, the individual services of an API also must be invoked in a specific order; likewise, the arguments are typically constructed using specific API calls. Our tools mine program code and program executions to derive typestate-like models of such call sequences for objects and parameters. Using such models, we uncover real-life bugs in real-life programs like AspectJ Ð bugs where the sequence of construction methods for arguments deviates from common (and correct) usage.