Safe kernel extensions without run-time checking
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and implementation of a certifying compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
JFlow: practical mostly-static information flow control
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for Java bytecode subroutines
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Information and System Security (TISSEC)
Avoiding exponential explosion: generating compact verification conditions
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An axiomatic basis for computer programming
Communications of the ACM
Proof linking: modular verification of mobile programs in the presence of lazy, dynamic linking
ACM Transactions on Software Engineering and Methodology (TOSEM)
Formalizing the safety of Java, the Java virtual machine, and Java card
ACM Computing Surveys (CSUR)
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Model checking security properties of control flow graphs
Journal of Computer Security
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
Automatic generation of program specifications
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Secure calling contexts for stack inspection
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Theoretical Computer Science
Specifying and Verifying a Decimal Representation in Java for Smart Cards
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
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
Open Issues in Formal Methods for Cryptographic Protocol Analysis
MMM-ACNS '01 Proceedings of the International Workshop on Information Assurance in Computer Networks: Methods, Models, and Architectures for Network Security
Context Inference for Static Analysis of Java Card Object Sharing
E-SMART '01 Proceedings of the International Conference on Research in Smart Cards: Smart Card Programming and Security
On-Card Bytecode Verification for Java Card
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
Formal Specification and Verification of JavaCard's Application Identifier Class
JavaCard '00 Revised Papers from the First International Workshop on Java on Smart Cards: Programming and Security
Are Smart Cards the Ideal Domain for Applying Formal Methods?
ZB '00 Proceedings of the First International Conference of B and Z Users on Formal Specification and Development in Z and B
Formal Development of an Embedded Verifier for Java Card Byte Code
DSN '02 Proceedings of the 2002 International Conference on Dependable Systems and Networks
Checking secure interactions of smart card applets: extended version
Journal of Computer Security - Special issue on ESORICS 2000
Theoretical Computer Science - Foundations of software science and computation structures
A type and effect system for atomicity
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Towards array bound check elimination in Java TM virtual machine language
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Java Bytecode Verification: Algorithms and Formalizations
Journal of Automated Reasoning
Bytecode Verification by Model Checking
Journal of Automated Reasoning
A Type System for the Java Bytecode Language and Verifier
Journal of Automated Reasoning
A static type system for JVM access control
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Escape analysis for JavaTM: Theory and practice
ACM Transactions on Programming Languages and Systems (TOPLAS)
An uncaught exception analysis for Java
Journal of Systems and Software
Secure Information Flow by Self-Composition
CSFW '04 Proceedings of the 17th IEEE workshop on Computer Security Foundations
Pluggable verification modules: an extensible protection mechanism for the JVM
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Non-interference for a JVM-like language
TLDI '05 Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation
Stack-based access control and secure information flow
Journal of Functional Programming
A systematic approach to static access control
ACM Transactions on Programming Languages and Systems (TOPLAS)
Simple verification technique for complex Java bytecode subroutines: Research Articles
Concurrency and Computation: Practice & Experience - Formal Techniques for Java-like Programs
Generating error traces from verification-condition counterexamples
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
Dimensions and Principles of Declassification
CSFW '05 Proceedings of the 18th IEEE workshop on Computer Security Foundations
An overview of JML tools and applications
International Journal on Software Tools for Technology Transfer (STTT) - Special section on formal methods for industrial critical systems
Precise Analysis of Memory Consumption using Program Logics
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Secure object flow analysis for java card
CARDIS'02 Proceedings of the 5th conference on Smart Card Research and Advanced Application Conference - Volume 5
Building an "impossible" verifier on a java card
WIESS'02 Proceedings of the 2nd conference on Industrial Experiences with Systems Software - Volume 2
Secure object sharing in java card
WOST'99 Proceedings of the USENIX Workshop on Smartcard Technology on USENIX Workshop on Smartcard Technology
Guaranteeing Correctness Properties of a Java Card Applet
Electronic Notes in Theoretical Computer Science (ENTCS)
Electronic Notes in Theoretical Computer Science (ENTCS)
Electronic Notes in Theoretical Computer Science (ENTCS)
Certified memory usage analysis
FM'05 Proceedings of the 2005 international conference on Formal Methods
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
ESC/Java2: uniting ESC/Java and JML
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
A type system for checking applet isolation in java card
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Enforcing resource bounds via static verification of dynamic checks
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Extending JML for modular specification and verification of multi-threaded programs
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Privacy-sensitive information flow with JML
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Language-based information-flow security
IEEE Journal on Selected Areas in Communications
Implementing Embedded Security on Dual-Virtual-CPU Systems
IEEE Design & Test
Industrial Use of Formal Methods for a High-Level Security Evaluation
FM '08 Proceedings of the 15th international symposium on Formal Methods
Hi-index | 0.00 |
Smartcards are trusted personal devices designed to store and process confidential data, and to act as secure tokens for providing access to applications and services. Smartcards are widely deployed and their usage spans over several application domains including banking, telecommunications, and identity. Open platform smartcards are new generation trusted personal devices with increased flexibility. Such devices, which benefit of increased connectivity and increased interoperability, can host several applets and allow new applets to be loaded post-issuance. Such an increased flexibility raises concerns about the possibility of logical attacks that could affect a very large number of devices, and requires the development of techniques and tools that can be used to increase the reliability of platforms and applications for trusted personal devices. The objective of this chapter is to describe some applications of formal methods to increase the reliability of smartcards and trusted personal devices.