JCML: A specification language for the 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;DIMAp - Universidade Federal do Rio Grande do Norte, Campus Universitário, Lagoa Nova, Natal, RN, Brazil and DIETInf - Instituto Federal do Rio Grande do Norte, Caixa Postal 1559, 59.015-000, ...

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2012

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 the 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 Modelling Language) a specification language derived from JML (Java Modelling Language) and its implementation: a compiler that generates runtime verification code. We also present some experiments and quality indicators. This paper extends previous published work from the authors with a more complete and precise definition of the JCML language and new experiments and results.