• DocumentCode
    827819
  • Title

    Static Specification Mining Using Automata-Based Abstractions

  • Author

    Shoham, Sharon ; Yahav, Eran ; Fink, Stephen J. ; Pistoia, Marco

  • Author_Institution
    Comput. Sci. Dept., Technion - Israel Inst. of Technol., Haifa
  • Volume
    34
  • Issue
    5
  • fYear
    2008
  • Firstpage
    651
  • Lastpage
    666
  • 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.
  • Keywords
    Java; application program interfaces; data mining; finite automata; formal specification; program diagnostics; Java clients; abstract event sequences; automata-based abstractions; client-side mining; distinct usage patterns; static analysis; static specification mining; temporal API specifications; Formal methods; Software/Program Verification; Specification; Specifying and Verifying and Reasoning about Programs; Validation;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2008.63
  • Filename
    4589215