ACM Home Page
Please provide us with feedback. Feedback
Decomposing bytecode verification by abstract interpretation
Full text PdfPdf (1.45 MB)
Source
ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 31 ,  Issue 1  (December 2008) table of contents
Article No. 3  
Year of Publication: 2008
ISSN:0164-0925
Authors
C. Bernardeschi  Università di Pisa, Pisa, Italy
N. De Francesco  Università di Pisa, Pisa, Italy
G. Lettieri  Università di Pisa, Pisa, Italy
L. Martini  Università di Pisa, Pisa, Italy
P. Masci  Università di Pisa, Pisa, Italy
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 18,   Downloads (12 Months): 204,   Citation Count: 0
Additional Information:

abstract   references   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/1452044.1452047
What is a DOI?

ABSTRACT

Bytecode verification is a key point in the security chain of the Java platform. This feature is only optional in many embedded devices since the memory requirements of the verification process are too high. In this article we propose an approach that significantly reduces the use of memory by a serial/parallel decomposition of the verification into multiple specialized passes. The algorithm reduces the type encoding space by operating on different abstractions of the domain of types. The results of our evaluation show that this bytecode verification can be performed directly on small memory systems. The method is formalized in the framework of abstract interpretation.


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
Bernardeschi, C., De Francesco, N., and Martini, L. 2003. Efficient bytecode verification using immediate postdominators in control flow graphs. In Proceedings of the OTM Workshops. Lecture Notes in Computer Science, vol. 2889. Springer, 425--436.
 
3
Bernardeschi, C., Francesco, N. D., Lettieri, G., Martini, L., and Masci, P. 2007. Decomposing bytecode verification by abstract interpretation for space awareness in embedded systems. Tech. rep. IET-07-01, Dipartimento di Ingegneria dell'Informazione, Università di Pisa, http://www.ing.unipi.it/~o1103499/papers/IET-07-01.pdf.
 
4
 
5
 
6
 
7
8
 
9
Coglio, A. 2003. Improving the official specification of Java bytecode verification. Concur. Computat. Pract. Exper. 15, 2, 155--179.
 
10
11
12
13
14
 
15
Cousot, P. and Cousot, R. 1992. Abstract interpretation frameworks. J. Logic Comput. 2, 511--547.
 
16
Davey, B. A. and Priestley, H. A. 2002. Introduction to Lattices and Order. Cambridge University Press.
 
17
18
 
19
20
21
22
 
23
 
24
Hyppönen, K., Naccache, D., Trichina, E., and Tchoulkine, A. 2003. Trading-off type-inference memory complexity against communication. In Proceedings of the 5th International Conference Information and Communications Security (ICICS'03), S. Qing, D. Gollmann, and J. Zhou, Eds. Lecture Notes in Computer Science. Springer, 60--71.
 
25
JSR 2006. Jsr-000202 Java class file specification update. Tech. rep. JSR202, Java Community Process, http://jcp.org/en/jsr/detail?id=202.
26
27
 
28
 
29
 
30
 
31
 
32
33
 
34
35
36
 
37
 
38
 
39
Rose, E. and Rose, K. 1998. Lightweight bytecode verification. In Proceeding of the Workshop on the Formal Underpinning of Java.
 
40
Ward, M. 1942. The closure operators of a lattice. Annals Math. 43, 2, 191--196.

Collaborative Colleagues:
C. Bernardeschi: colleagues
N. De Francesco: colleagues
G. Lettieri: colleagues
L. Martini: colleagues
P. Masci: colleagues