Symbolic model checking: an approach to the state explosion problem
Symbolic model checking: an approach to the state explosion problem
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Data flow analysis is model checking of abstract interpretations
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for object initialization in the Java bytecode language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Standard fixpoint iteration for Java bytecode verification
ACM Transactions on Programming Languages and Systems (TOPLAS)
Java Virtual Machine Specification
Java Virtual Machine Specification
A Formal Specification of Java Virtual Machine Instructions for Objects, Methods and Subrountines
Formal Syntax and Semantics of Java
Proving the Soundness of a Java Bytecode Verifier Specification in Isabelle/HOL
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Symbolic Model Checking without BDDs
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Byte Code Verification for Java Smart Card Based on Model Checking
ESORICS '98 Proceedings of the 5th European Symposium on Research in Computer Security
FoSSaCS '01 Proceedings of the 4th International Conference on Foundations of Software Science and Computation Structures
Java Bytecode Verification: An Overview
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Verified Bytecode Model Checkers
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Bytecode Verification by Model Checking
Journal of Automated Reasoning
Model checking the Java metalocking algorithm
ACM Transactions on Software Engineering and Methodology (TOSEM)
The High Road to Formal Validation
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
Hi-index | 0.00 |
Java bytecode verification is traditionally performed by a polynomial time dataflow algorithm. We investigate an alternative based on reducing bytecode verification to model checking. Despite an exponential worst case time complexity, model checking type-correct bytecode is polynomial in practice when carried out using an explicit state, on-the fly model checker like Spin. We investigate this theoretically and experimentally and explain the practical advantages of this alternative.