Static specification mining using automata-based abstractions

Sharon Shoham, Eran Yahav, Stephen Fink, Marco Pistoia

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

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 summarizes 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.

Original languageEnglish
Title of host publicationProceedings of the 2007 ACM International Symposium on Software Testing and Analysis, ISSTA'07
Pages174-184
Number of pages11
DOIs
StatePublished - 2007
Event2007 ACM International Symposium on Software Testing and Analysis, ISSTA'07 and PADTAD-V Workshop - London, United Kingdom
Duration: 9 Jul 200712 Jul 2007

Publication series

Name2007 ACM International Symposium on Software Testing and Analysis, ISSTA'07

Conference

Conference2007 ACM International Symposium on Software Testing and Analysis, ISSTA'07 and PADTAD-V Workshop
Country/TerritoryUnited Kingdom
CityLondon
Period9/07/0712/07/07

Keywords

  • Abstract interpretation
  • Specification mining
  • Static analysis
  • Typestate

Fingerprint

Dive into the research topics of 'Static specification mining using automata-based abstractions'. Together they form a unique fingerprint.

Cite this