ACM Home Page
Please provide us with feedback. Feedback
Effective typestate verification in the presence of aliasing
Full text PdfPdf (244 KB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 2006 international symposium on Software testing and analysis table of contents
Portland, Maine, USA
SESSION: Session 4: static analysis table of contents
Pages: 133 - 144  
Year of Publication: 2006
ISBN:1-59593-263-1
Authors
Stephen Fink  IBM T.J. Watson Research Center
Eran Yahav  IBM T.J. Watson Research Center
Nurit Dor  IBM Haifa Research Lab
G. Ramalingam  IBM T.J. Watson Research Center
Emmanuel Geay  IBM T.J. Watson Research Center
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 37,   Citation Count: 22
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/1146238.1146254
What is a DOI?

ABSTRACT

This paper addresses the challenge of sound typestate verification, with acceptable precision, for real-world Java programs. We present a novel framework for verification of typestate properties, including several new techniques to precisely treat aliases without undue performance costs. In particular, we present a flowsensitive, context-sensitive, integrated verifier that utilizes a parametric abstract domain combining typestate and aliasing information.To scale to real programs without compromising precision, we present a staged verification system in which faster verifiers run as early stages which reduce the workload for later, more precise, stages.We have evaluated our framework on a number of real Java programs, checking correct API usage for various Java standard libraries. The results show that our approach scales to hundreds of thousands of lines of code, and verifies correctness for 93% of the potential points of failure.


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
11
 
12
R. DeLine and M. Fähndrich. Typestates for objects. In 18th European Conference on Object-Oriented Programming (ECOOP), volume 3086 of LNCS, June 2004.
13
14
15
 
16
J. Field, D. Goyal, G. Ramalingam, and E. Yahav. Typestate verification: Abstraction techniques and complexity results. In Proc. of Static Analysis Symposium (SAS'03), volume 2694 of LNCS, pages 439--462. Springer, June 2003.
 
17
S. Fink, J. Dolby, and L. Colby. Semi-automatic J2EE transaction configuration. Technical Report RC23326, IBM, 2004.
18
 
19
S. Guyer and C. Lin. Client-driven pointer analysis. In Proc. of SAS'03, volume 2694 of LNCS, pages 214--236, June 2003.
20
21
22
23
 
24
O. Lhoták and L. Hendren. Scaling Java points-to analysis using SPARK. In 12th International Conference on Compiler Construction (CC), volume 2622 of LNCS, pages 153--169, Apr. 2003.
 
25
B. Livshits, J. Whaley, and M. S. Lam. Reflection analysis for java. In Proceedings of Programming Languages and Systems: Third Asian Symposium, APLAS 2005, November 2005.
26
27
 
28
29
30
31
 
32
33
34
35

CITED BY  22

Collaborative Colleagues:
Stephen Fink: colleagues
Eran Yahav: colleagues
Nurit Dor: colleagues
G. Ramalingam: colleagues
Emmanuel Geay: colleagues