ACM Home Page
Please provide us with feedback. Feedback
Typestate-like analysis of multiple interacting objects
Full text PdfPdf (378 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications table of contents
Nashville, TN, USA
SESSION: Program analysis table of contents
Pages 347-366  
Year of Publication: 2008
ISBN:978-1-60558-215-3
Also published in ...
Authors
Nomair A. Naeem  University of Waterloo, Waterloo, ON, Canada
Ondrej Lhotak  University of Waterloo, Waterloo, ON, Canada
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 143,   Citation Count: 3
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/1449764.1449792
What is a DOI?

ABSTRACT

This paper presents a static analysis of typestate-like temporal specifications of groups of interacting objects, which are expressed using tracematches. Whereas typestate expresses a temporal specification of one object, a tracematch state may change due to operations on any of a set of related objects bound by the tracematch. The paper proposes a lattice-based operational semantics equivalent to the original tracematch semantics but better suited to static analysis. The paper defines a static analysis that computes precise local points-to sets and tracks the flow of individual objects, thereby enabling strong updates of the tracematch state. The analysis has been proved sound with respect to the semantics. A context-sensitive version of the analysis has been implemented as instances of the IFDS and IDE algorithms. The analysis was evaluated on tracematches used in earlier work and found to be very precise. Remaining imprecisions could be eliminated with more precise modeling of references from the heap and of exceptional control flow.


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
P. Avgustinov, A. Christensen, L. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. abc : An extensible AspectJ compiler. Transactions on Aspect-Oriented Software Development I, pages 293--334. 2006.
3
4
5
6
7
 
8
E. Bodden, L. Hendren, and O. Lhoták. A staged static program analysis to improve the performance of runtime monitoring. ECOOP '07: Proceedings of the 21st European Conference on Object-Oriented Programming, pages 525--549, 2007.
9
10
11
12
 
13
R. DeLine and M. Fahndrich. Typestates for objects. ECOOP '04: Proceedings of the 18th European Conference on Object-Oriented Programming, pages 465--490, 2004.
 
14
A. Deutsch. A storeless model of aliasing and its abstractions using finite representations of right--regular equivalence relations. ICCL '92: Proceedings of the 4th IEEE International Conference on Computer Languages, pages 2--13, 1992.
 
15
B. Dufour. Objective quantification of program behaviour using dynamic metrics. Master's thesis, McGill University, 2004.
16
17
18
19
20
 
21
S. Guyer and C. Lin. Client-driven pointer analysis. SAS '03: Proceedings of the 10th Annual International Static Analysis Symposium, pages 214--236, 2003.
 
22
23
24
 
25
C. Jaspan and J. Aldrich. Checking semantic usage of frameworks. Library Centric Software Design Symposium, 2007.
 
26
C. Jaspan and J. Aldrich. Checking temporal relations between multiple objects. Technical Report CMU-ISR-08-119, Carnegie Mellon University, Dec. 2008.
 
27
H. Jonkers. Abstract storage structures. de Bakker and van Vliet, editors, Algorithmic Languages, pages 321--343, 1981.
28
29
 
30
N. Naeem and O. Lhoták. Extending typestate analysis to multiple interacting objects. Technical Report CS-2008-04, University of Waterloo, 2008. http://www.cs.uwaterloo.ca/research/tr/2008/CS-2008-04.pdf.
31
32
 
33
34
 
35


Collaborative Colleagues:
Nomair A. Naeem: colleagues
Ondrej Lhotak: colleagues