ACM Home Page
Please provide us with feedback. Feedback
A non-null annotation inferencer for Java bytecode
Full text PdfPdf (409 KB)
Source Workshop on Program Analysis for Software Tools and Engineering archive
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering table of contents
Atlanta, Georgia
SESSION: Characterizing the heap table of contents
Pages 36-42  
Year of Publication: 2008
ISBN:978-1-60558-382-2
Author
Laurent Hubert  CNRS/IRISA, Rennes, France
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 50,   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/1512475.1512484
What is a DOI?

ABSTRACT

We present a non-null annotations inferencer for the Java bytecode language. We previously proposed an analysis to infer non-null annotations and proved it soundness and completeness with respect to a state of the art type system. This paper proposes extensions to our former analysis in order to deal with the Java bytecode language. We have implemented both analyses and compared their behaviour on several benchmarks. The results show a substantial improvement in the precision and, despite being a whole-program analysis, production applications can be analyzed within 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
Artho, C., and Havelund, K. Applying Jlint to space exploration software. In Proc. of the 5th International Conference on Verification, Model Checking and Abstract Interpretation (VMCAI 2004) (2004), vol. 2937 of LNCS, Springer, pp. 297--308.
 
2
Cannasse, N., Turpin, T., Hubert, L., Besson, F., and André, E. JavaLib. Inria, March 2007. javalib.gforge.inria.fr.
 
3
Chalin, P., and James, P. R. Non-null references by default in Java: Alleviating the nullity annotation burden. In Proc. of European Conference on Object-Oriented Programming (ECOOP'07) (2007), vol. 4609 of LNCS, Springer, pp. 227--247.
4
5
 
6
Cok, D. R., and Kiniry, J. R. Esc/java2.
 
7
Eclipse 3.3 (europa). www.eclipse.org.
 
8
Ekman, T. Extensible Compiler Construction. PhD thesis, Lund University, June 2006.
 
9
Ekman, T., and Hedin, G. Pluggable checking and inferencing of non-null types for Java. Journal of Object Technology 6, 9 (October 2007), 455--475. Special Issue: TOOLS EUROPE 2007.
 
10
Fähndrich, M., and Leino, K. R. M. Declaring and checking non-null types in an object-oriented language. In Proc. of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'03) (2003), vol. 2021 of LNCS, Springer-Verlag, pp. 302--312.
11
 
12
 
13
The gnu compiler for the java programming language, 2007. gcc.gnu.org/java.
14
15
 
16
 
17
Javacc. javacc.dev.java.net.
 
18
Jess. herzberg.ca.sandia.gov.
 
19
Julia. profs.sci.univr.it/~spoto/julia/.
 
20
Leino, K. R. M., Saxe, J. B., and Stata, R. ESC/Java user's manual, technical note 2000--002 ed. Compaq Systems Research Center, October 2000.
 
21
Leroy, X., Doligez, D., Garrigue, J., Rémy, D., and Vouillon, J. The Objective Caml system. Inria, May 2007. caml.inria.fr/ocaml/.
 
22
Male, C., Pearce, D. J., Potanin, A., and Dymnikov, C. Java bytecode verification for @NonNull types. In Proc. of the Conference on Compiler Construction (CC'08) (2008), Springer-Verlag.
 
23
24
25
 
26
SPEC JVM98 benchmarks. www.spec.org/jvm98.
 
27
 
28
Tightvnc. www.tightvnc.com.
 
29