Symbolic Automata for Static Specification Mining

  • Hila Peleg
  • Sharon Shoham
  • Eran Yahav
  • Hongseok Yang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7935)


We present a formal framework for static specification mining. The main idea is to represent partial temporal specifications as symbolic automata – automata where transitions may be labeled by variables, and a variable can be substituted by a letter, a word, or a regular language. Using symbolic automata, we construct an abstract domain for static specification mining, capturing both the partialness of a specification and the precision of a specification. We show interesting relationships between lattice operations of this domain and common operators for manipulating partial temporal specifications, such as building a more informative specification by consolidating two partial specifications.


Regular Language Abstract Domain Symbolic Transition Symbolic Language Code Snippet 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Acharya, M., Xie, T., Pei, J., Xu, J.: Mining API patterns as partial orders from source code: from usage scenarios to specifications. In: ESEC-FSE 2007, pp. 25–34 (2007)Google Scholar
  2. 2.
    Alur, R., Cerny, P., Madhusudan, P., Nam, W.: Synthesis of interface specifications for Java classes. In: POPL (2005)Google Scholar
  3. 3.
    Beckman, N.E., Kim, D., Aldrich, J.: An empirical study of object protocols in the wild. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 2–26. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Ganesh, V., Minnes, M., Solar-Lezama, A., Rinard, M.: Word equations with length constraints: what decidable? In: Haifa Verification Conference (2012)Google Scholar
  5. 5.
    Gruska, N., Wasylkowski, A., Zeller, A.: Learning from 6,000 projects: Lightweight cross-project anomaly detection. In: ISSTA 2010 (2010)Google Scholar
  6. 6.
    Mandelin, D., Xu, L., Bodik, R., Kimelman, D.: Jungloid mining: helping to navigate the API jungle. In: PLDI 2005, pp. 48–61 (2005)Google Scholar
  7. 7.
    Mishne, A., Shoham, S., Yahav, E.: Typestate-based semantic code search over partial programs. In: OOPSLA 2012: Proceedings of the 27th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (2012)Google Scholar
  8. 8.
    Monperrus, M., Bruch, M., Mezini, M.: Detecting missing method calls in object-oriented software. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 2–25. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Plandowski, W.: An efficient algorithm for solving word equations. In: Proceedings of the Thirty-Eighth Annual ACM Symposium on Theory of Computing, STOC 2006 (2006)Google Scholar
  10. 10.
    Shoham, S., Yahav, E., Fink, S., Pistoia, M.: Static specification mining using automata-based abstractions. In: ISSTA 2007 (2007)Google Scholar
  11. 11.
    Strom, R.E., Yemini, S.: Typestate: A programming language concept for enhancing software reliability. IEEE Trans. Software Eng. 12(1), 157–171 (1986)zbMATHCrossRefGoogle Scholar
  12. 12.
    Wasylkowski, A., Zeller, A.: Mining temporal specifications from object usage. In: Autom. Softw. Eng., vol. 18 (2011)Google Scholar
  13. 13.
    Wasylkowski, A., Zeller, A., Lindig, C.: Detecting object usage anomalies. In: FSE 2007, pp. 35–44 (2007)Google Scholar
  14. 14.
    Weimer, W., Necula, G.C.: Mining temporal specifications for error detection. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. TACAS, pp. 461–476. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Whaley, J., Martin, M.C., Lam, M.S.: Automatic extraction of object-oriented component interfaces. In: ISSTA 2002 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Hila Peleg
    • 1
  • Sharon Shoham
    • 2
  • Eran Yahav
    • 3
  • Hongseok Yang
    • 4
  1. 1.Tel Aviv UniversityIsrael
  2. 2.Tel Aviv-Yaffo Academic CollegeIsrael
  3. 3.TechnionIsrael
  4. 4.University of OxfordUK

Personalised recommendations