ACM Home Page
Please provide us with feedback. Feedback
Pentagons: a weakly relational abstract domain for the efficient validation of array accesses
Full text PdfPdf (171 KB)
Source Symposium on Applied Computing archive
Proceedings of the 2008 ACM symposium on Applied computing table of contents
Fortaleza, Ceara, Brazil
SESSION: Object-oriented programming languages and systems table of contents
Pages 184-188  
Year of Publication: 2008
ISBN:978-1-59593-753-7
Authors
Francesco Logozzo  Microsoft Research
Manuel Fähndrich  Microsoft Research
Sponsor
SIGAPP: ACM Special Interest Group on Applied Computing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 35,   Citation Count: 2
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/1363686.1363736
What is a DOI?

ABSTRACT

We introduce Pentagons (Pntg), a weakly relational numerical abstract domain useful for the validation of array accesses in byte-code and intermediate languages (IL). This abstract domain captures properties of the form of x ε [a, b]∧x < y. It is more precise than the well known Interval domain, but it is less precise than the Octagon domain.

The goal of Pntg is to be a lightweight numerical domain useful for adaptive static analysis, where Pntg is used to quickly prove the safety of most array accesses, restricting the use of more precise (but also more expensive) domains to only a small fraction of the code.

We implemented the Pntg abstract domain in Clousot, a generic abstract interpreter for .NET assemblies. Using it, we were able to validate 83% of array accesses in the core runtime library mscorlib.dll in less than 8 minutes.


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
R. Bagnara, P. M. Hill, E. Mazzi, and E. Zaffanella. Widening operators for weakly-relational numeric abstractions. In SAS'05. Springer-Verlag, Sept. 2005.
2
 
3
P. Cousot. Verification by abstract interpretation. In Verification: Theory and Practice. Springer-Verlag, 2003.
4
5
6
 
7
ECMA. Standard ECMA-335, Common Language Infrastructure (CLI). http://www.ecma-international.org/-publications/standards/ecma-335.htm, Ecma International, 2006.
 
8
F. Logozzo. Cibai: An abstract interpretation-based static analyzer for modular analysis and verification of Java classes. In VMCAI'07. Springer-Verlag, Jan. 2007.
 
9
A. Miné. The octagon abstract domain. In WCRE 2001. IEEE Computer Society, Oct. 2001.
 
10
J. Navas, E. Mera, P. López-García, and M. V. Hermenegildo. User-definable resource bounds analysis for logic programs. In ICLP'07. Springer-Verlag, Sept. 2007.
 
11
A. Simon, A. King, and J. M. Howe. Two variables per linear inequality as an abstract domain. In LOPSTR'02. Springer-Verlag, 2002.
 
12
13


Collaborative Colleagues:
Francesco Logozzo: colleagues
Manuel Fähndrich: colleagues