Lecture Notes in Computer Science
DOI: 10.1007/978-3-540-78791-4_16
|View full text |Cite
|
Sign up to set email alerts
|

Java Bytecode Verification for @NonNull Types

Abstract: Abstract. Java's annotation mechanism allows us to extend its type system with non-null types. However, checking such types cannot be done using the existing bytecode verification algorithm. We extend this algorithm to verify non-null types using a novel technique that identifies aliasing relationships between local variables and stack locations in the JVM. We formalise this for a subset of Java Bytecode and report on experiences using our implementation.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
14
0

Publication Types

Select...
3
2

Relationship

2
3

Authors

Journals

citations
Cited by 11 publications
(14 citation statements)
references
References 30 publications
0
14
0
Order By: Relevance
“…Some non-null type systems for the Java language have been proposed [6,15]. Although non-null annotations are not used by the compiler yet, this could likely change in the future, in which case it becomes crucial to prove the soundness of the logic underlying the type checker.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Some non-null type systems for the Java language have been proposed [6,15]. Although non-null annotations are not used by the compiler yet, this could likely change in the future, in which case it becomes crucial to prove the soundness of the logic underlying the type checker.…”
Section: Introductionmentioning
confidence: 99%
“…inferring nullness property for blocks of code from the guards. This is notably the case of FindBugs [11,10] and of the work by Male et al [15]. They rely on path-sensitive analysis and the treatment of field initialization is very weak.…”
Section: Introductionmentioning
confidence: 99%
“…However, many solutions have been proposed (e.g. [37,38,39,40,41]), we find that Whiley's union types provide an elegant solution.…”
Section: Flowmentioning
confidence: 82%
“…A non-null type system (e.g. [12][13][14][15]) prevents variables which may hold null from being dereferenced. The following illustrates:…”
Section: Flow Typingmentioning
confidence: 99%
“…Flow typing offers an alternative to Hindley-Milner type inference where a variable may have different types at different program points. The technique is adopted from flow-sensitive program analysis and has been used for non-null types [12][13][14][15], information flow [16][17][18], purity checking [19] and more [12,13,[20][21][22][23][24][25][26].…”
Section: Introductionmentioning
confidence: 99%