Static Specification Mining Using Automata-Based Abstractions

S. Shoham, E. Yahav, S.J. Fink, M. Pistoia
2008 IEEE Transactions on Software Engineering  
We present a novel approach to client-side mining of temporal API specifications based on static analysis. Specifically, we present an interprocedural analysis over a combined domain that abstracts both aliasing and event sequences for individual objects. The analysis uses a new family of automata-based abstractions to represent unbounded event sequences, designed to disambiguate distinct usage patterns and merge similar usage patterns. Additionally, our approach includes an algorithm that
more » ... rizes abstract traces based on automata clusters, and effectively rules out spurious behaviors. We show experimental results mining specifications from a number of Java clients and APIs. The results indicate that effective static analysis for client-side mining requires fairly precise treatment of aliasing and abstract event sequences. Based on the results, we conclude that static client-side specification mining shows promise as a complement or alternative to dynamic approaches.
doi:10.1109/tse.2008.63 fatcat:5fsgsltkxvc6lbrkqxkvx2nntq