SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Type checking records and variants in a natural extension of ML
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Semantics with applications: a formal introduction
Semantics with applications: a formal introduction
The revised report on the syntactic theories of sequential control and state
Theoretical Computer Science
A calculus for access control in distributed systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
The power of processor consistency
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS
IEEE Transactions on Software Engineering
Evolving algebras 1993: Lipari guide
Specification and validation methods
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Programming languages for mobile code
ACM Computing Surveys (CSUR)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adding type parameterization to the Java language
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The security of static typing with dynamic linking
Proceedings of the 4th ACM conference on Computer and communications security
A type system for Java bytecode subroutines
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Javalight is type-safe—definitely
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Practical soft typing
Garbage collection and local variable type-precision and liveness in Java virtual machines
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
The design and implementation of a certifying compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Using many-sorted natural semantics to specify and generate semantic analysis
Proceedings of the IFIP TC2 WG2.4 working conference on Systems implementation 2000 : languages, methods and tools: languages, methods and tools
A formal introduction to the compilation of Java
Software—Practice & Experience
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compatible genericity with run-time types for the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A type system for object initialization in the Java bytecode language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Reasoning about Java classes: preliminary report
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
What is Java binary compatibility?
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A specification of Java loading and bytecode verification
CCS '98 Proceedings of the 5th ACM conference on Computer and communications security
Proof linking: an architecture for modular verification of dynamically-linked mobile code
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
A conservative look at operational semantics with variable binding
Information and Computation
A compositional account of the Java virtual machine
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A simple, comprehensive type system for Java bytecode subroutines
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Securing Java: getting down to business with mobile code
Securing Java: getting down to business with mobile code
Is the Java type system sound?
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
A type system for Java bytecode subroutines
ACM Transactions on Programming Languages and Systems (TOPLAS)
Control flow analysis: a functional languages compilation paradigm
SAC '95 Proceedings of the 1995 ACM symposium on Applied computing
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Removing unnecessary synchronization in Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Featherweight Java: a minimal core calculus for Java and GJ
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A formal framework for the Java bytecode language and verifier
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compositional pointer and escape analysis for Java programs
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type elaboration and subtype completion for Java bytecode
Proceedings of the 27th 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)
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
A high performance cluster JVM presenting a pure single system image
Proceedings of the ACM 2000 conference on Java Grande
LETOS — a lightweight execution tool for operational semantics
Software—Practice & Experience
Dynamic semantics of java bytecode
Future Generation Computer Systems
Addendum to the 1998 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)
From flop to megaflops: Java for technical computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
A certifying compiler for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
A framework for interprocedural optimization in the presence of dynamic class loading
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Type-based race detection for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Static enforcement of security with types
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
A Practical Method for Specification and Analysis of Exception Handling-A Java/JVM Case Study
IEEE Transactions on Software Engineering
Improving the Java memory model using CRF
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A formal specification of Java class loading
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Secure Execution of Java Applets Using a Remote Playground
IEEE Transactions on Software Engineering
Modular design for the Java virtual machine architecture
Architecture design and validation methods
Oracle-based checking of untrusted software
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java consistency: nonoperational characterizations for Java memory behavior
ACM Transactions on Computer Systems (TOCS)
Specification of the Javacard API in JML
Proceedings of the fourth working conference on smart card research and advanced applications on Smart card research and advanced applications
Proceedings of the fourth working conference on smart card research and advanced applications on Smart card research and advanced applications
Java Card Technology for Smart Cards: Architecture and Programmer's Guide
Java Card Technology for Smart Cards: Architecture and Programmer's Guide
Symbolic Model Checking
Java Virtual Machine Specification
Java Virtual Machine Specification
Vlisp: A Verified Implementation of Scheme
Vlisp: A Verified Implementation of Scheme
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
The Java Language Specification
The Java Language Specification
IEEE Internet Computing
A Logic for the Java Modeling Language JML
FASE '01 Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering
Finalization in the Collector Interface
IWMM '92 Proceedings of the International Workshop on Memory Management
Towards an Algebraic Specification of the Java Virtual Machine
Proceedings of the ESPRIT Working Group 8533 on Prospects for Hardware Foundations: NADA - New Hardware Design Methods, Survey Chapters
Defining the Java Virtual Machine as Platform for Provably Correct Java Compilation
MFCS '98 Proceedings of the 23rd International Symposium on Mathematical Foundations of Computer Science
A Type-Theoretic Memory Model for Verification of Sequential Java Programs
WADT '99 Selected papers from the 14th International Workshop on Recent Trends in Algebraic Development Techniques
The LOOP Compiler for Java and JML
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the 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
Towards Formalizing the Java Security Architecture of JDK 1.2
ESORICS '98 Proceedings of the 5th European Symposium on Research in Computer Security
Formal Proof of Smart Card Applets Correctness
CARDIS '98 Proceedings of the The International Conference on Smart Card Research and Applications
An Abstract Model of Java Dynamic Linking and Loading
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Specware: Formal Support for Composing Software
MPC '95 Mathematics of Program Construction
System Description: cardTAP: The First Theorem Prover on a Smart Card
CADE-15 Proceedings of the 15th International Conference on Automated Deduction: Automated Deduction
ACSAC '99 Proceedings of the 15th Annual Computer Security Applications Conference
Efficient Representation and Validation of Proofs
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
A Fragment Calculus Towards a Model of Separate Compilation, Linking and Binary Compatibility
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
cJVM: A Single System Image of a JVM on a Cluster
ICPP '99 Proceedings of the 1999 International Conference on Parallel Processing
Security and Dynamic Class Loading in Java: A Formalization
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Efficient Code Certification
Java Security: From HotJava to Netscape and Beyond
SP '96 Proceedings of the 1996 IEEE Symposium on Security and Privacy
A Type System for JVM Threads
A new approach to mobile code security
A new approach to mobile code security
The 1999/smli_tr-99-72.ps: Implementing a JavaTMSystem for the Palm Connected Organizer
The 1999/smli_tr-99-72.ps: Implementing a JavaTMSystem for the Palm Connected Organizer
Secure object sharing in java card
WOST'99 Proceedings of the USENIX Workshop on Smartcard Technology on USENIX Workshop on Smartcard Technology
WOST'99 Proceedings of the USENIX Workshop on Smartcard Technology on USENIX Workshop on Smartcard Technology
True separate compilation of Java classes
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Ravenscar-Java: a high integrity profile for real-time Java
JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
Bytecode verification on Java smart cards
Software—Practice & Experience
Tool-Assisted Specification and Verification of the JavaCard Platform
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
A Formal Correspondence between Offensive and Defensive JavaCard Virtual Machines
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
Jakarta: A Toolset for Reasoning about JavaCard
E-SMART '01 Proceedings of the International Conference on Research in Smart Cards: Smart Card Programming and Security
Towards a Full Formal Specification of the JavaCard API
E-SMART '01 Proceedings of the International Conference on Research in Smart Cards: Smart Card Programming and Security
Java Bytecode Verification: Algorithms and Formalizations
Journal of Automated Reasoning
Lightweight Bytecode Verification
Journal of Automated Reasoning
ACM Transactions on Programming Languages and Systems (TOPLAS)
A high-level modular definition of the semantics of C#
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
A machine-checked model for a Java-like language, virtual machine, and compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
An assertion-based proof system for multithreaded Java
Theoretical Computer Science - Formal methods for components and objects
Reasoning about safety properties in a JVM-like environment
Science of Computer Programming
Theoretical Computer Science
ASM-based model of dynamic service update in OSGi
ACM SIGSOFT Software Engineering Notes
Towards proving type safety of .NET CIL
Science of Computer Programming
Industrial Use of Formal Methods for a High-Level Security Evaluation
FM '08 Proceedings of the 15th international symposium on Formal Methods
Towards proving type safety of C#
Computer Languages, Systems and Structures
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
Electronic Notes in Theoretical Computer Science (ENTCS)
Multi-level meta-reasoning with higher-order abstract syntax
FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
Validation of the JavaCard platform with implicit induction techniques
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
Computer security from a programming language and static analysis perspective
ESOP'03 Proceedings of the 12th European conference on Programming
ICHIT'06 Proceedings of the 1st international conference on Advances in hybrid information technology
The research on how to reduce the number of EEPROM writing to improve speed of java card
ICESS'05 Proceedings of the Second international conference on Embedded Software and Systems
EUC'05 Proceedings of the 2005 international conference on Embedded and Ubiquitous Computing
A high performance buffering of java objects for java card systems with flash memory
EUC'06 Proceedings of the 2006 international conference on Emerging Directions in Embedded and Ubiquitous Computing
Formal methods for smartcard security
Foundations of Security Analysis and Design III
Hi-index | 0.00 |
We review the existing literature on Java safety, emphasizing formal approaches, and the impact of Java safety on small footprint devices such as smartcards. The conclusion is that although a lot of good work has been done, a more concerted effort is needed to build a coherent set of machine-readable formal models of the whole of Java and its implementation. This is a formidable task but we believe it is essential to build trust in Java safety, and thence to achieve ITSEC level 6 or Common Criteria level 7 certification for Java programs.