Specification and Runtime Verification of Java Card Programs

  • Authors:
  • Umberto Souza da Costa;Anamaria Martins Moreira;Martin A. Musicante;Plácido A. Souza Neto

  • Affiliations:
  • DIMAp - Universidade Federal do Rio Grande do Norte, Campus Universitário -- Lagoa Nova -- Natal -- RN -- Brazil;DIMAp - Universidade Federal do Rio Grande do Norte, Campus Universitário -- Lagoa Nova -- Natal -- RN -- Brazil;DIMAp - Universidade Federal do Rio Grande do Norte, Campus Universitário -- Lagoa Nova -- Natal -- RN -- Brazil;Centro Federal de Educação Tecnológica do Rio Grande do Norte Caixa Postal 1559 -- 59.015-000 -- Natal -- RN - Brazil

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Java Card is a version of Java developed to run on devices with severe storage and processing restrictions. The applets that run on these devices are frequently intended for use in critical, highly distributed, mobile conditions. They are required to be portable and safe. Often, the requirements of the application impose the use of dynamic, on-card verifications, but most of the research developed to improve safety of Java Card applets concentrates on static verification methods. This work presents a runtime verification approach based on Design by Contract to improve the safety of Java Card applications. To this end, we propose JCML (Java Card Modeling Language) a specification language derived from JML (Java Modeling Language) and its implementation: a compiler that generates runtime verification code. We also present some experiments and quality indicators.