ACM Home Page
Please provide us with feedback. Feedback
Static specification mining using automata-based abstractions
Full text PdfPdf (334 KB)
Source
International Symposium on Software Testing and Analysis archive
Proceedings of the 2007 international symposium on Software testing and analysis table of contents
London, United Kingdom
SESSION: Static analysis table of contents
Pages: 174 - 184  
Year of Publication: 2007
ISBN:978-1-59593-734-6
Authors
Sharon Shoham  Technion Israel Institute of Technology
Eran Yahav  IBM T. J. Watson Research Center
Stephen Fink  IBM T. J. Watson Research Center
Marco Pistoia  IBM T. J. Watson Research Center
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 17,   Downloads (12 Months): 107,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1273463.1273487
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
L. O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, Univ. of Copenhagen, May 1994. (DIKU report 94/19).
4
5
6
7
 
8
9
 
10
Gallery of mined specification. http://tinyurl.com/23qct8 or http://docs.google.com/View?docid=ddhtqgv6 10hbczjd.
 
11
E. M. Gold. Language identification in the limit. Information and Control, 10:447--474, 1967.
 
12
S. Hangal and M. S. Lam. Tracking down software bugs using automatic anomaly detection. May 2002.
13
14
15
 
16
17
 
18
A. Salcianu and M. Rinard. Purity and side effect analysis for Java programs. In VMCAI'05: Proceedings of the 6th International Conference on Verification, Model Checking, and Abstract Interpretation, 2005.
 
19
WALA: The T. J. Watson Libraries for Analysis. http://wala.sourceforge.net.
 
20
W. Weimer and G. Necula. Mining temporal specifications for error detection. In TACAS, 2005.
21
22
 
23
G. Yorsh, E. Yahav, and S. Chandra. Symbolic summarization with applications to typestate verification. Technical report, Tel Aviv University, 2007. www.cs.tau.ac.il/~gretay.


Collaborative Colleagues:
Sharon Shoham: colleagues
Eran Yahav: colleagues
Stephen Fink: colleagues
Marco Pistoia: colleagues