Type-extension type test can be performed in constant time
ACM Transactions on Programming Languages and Systems (TOPLAS)
Completeness and predicate-based abstract interpretation
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Complementation in abstract interpretation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A specification of Java loading and bytecode verification
CCS '98 Proceedings of the 5th ACM conference on Computer and communications security
A logical model for relational abstract domains
ACM Transactions on Programming Languages and Systems (TOPLAS)
Optimal domains for disjunctive abstract interpretation
Science of Computer Programming - Special issue on the 6th European symposium on programming
A type system for object initialization in the Java bytecode language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Making abstract interpretations complete
Journal of the ACM (JACM)
Standard fixpoint iteration for Java bytecode verification
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type elaboration and subtype completion for Java bytecode
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Fast subtype checking in the HotSpot JVM
JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
Bytecode verification on Java smart cards
Software—Practice & Experience
A B model for ensuring soundness of a large subset of the java card virtual machine
Science of Computer Programming - Special issure on formal methods for industrial critical systems (FMICS 2000)
Reducing the Memory Complexity of Type-Inference Algorithms
ICICS '02 Proceedings of the 4th International Conference on Information and Communications Security
Formal Proof of Smart Card Applets Correctness
CARDIS '98 Proceedings of the The International Conference on Smart Card Research and Applications
Formal Development of an Embedded Verifier for Java Card Byte Code
DSN '02 Proceedings of the 2002 International Conference on Dependable Systems and Networks
Java Bytecode Verification: Algorithms and Formalizations
Journal of Automated Reasoning
Lightweight Bytecode Verification
Journal of Automated Reasoning
Simple verification technique for complex Java bytecode subroutines: Research Articles
Concurrency and Computation: Practice & Experience - Formal Techniques for Java-like Programs
Using postdomination to reduce space requirements of data flow analysis
Information Processing Letters
A machine-checked model for a Java-like language, virtual machine, and compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Tool-Assisted Specification and Verification of Typed Low-Level Languages
Journal of Automated Reasoning
Using Control Dependencies for Space-Aware Bytecode Verification
The Computer Journal
Building an "impossible" verifier on a java card
WIESS'02 Proceedings of the 2nd conference on Industrial Experiences with Systems Software - Volume 2
Using abstract interpretation to add type checking for interfaces in Java bytecode verification
Theoretical Computer Science
Using abstract interpretation to add type checking for interfaces in Java bytecode verification
Theoretical Computer Science
Hi-index | 0.01 |
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.