Thèse soutenue

Validation des spécifications formelles de la mise à jour dynamique des applications Java Card

FR  |  
EN
Auteur / Autrice : Razika Lounas
Direction : Jean-Louis LanetMohamed Mezghiche
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 10/11/2018
Etablissement(s) : Limoges en cotutelle avec Université M'hamed Bougara de Boumerdès (Algérie)
Ecole(s) doctorale(s) : École doctorale Sciences et Ingénierie des Systèmes, Mathématiques, Informatique (Limoges ; 2018-2022)
Partenaire(s) de recherche : Laboratoire : XLIM
Jury : Président / Présidente : Mohamed Ahmed-Nacer
Examinateurs / Examinatrices : Mohamed Ahmed-Nacer, Yamine Aït-Ameur
Rapporteur / Rapporteuse : Malika Boukala-Ioualalen, Rabah Imache

Résumé

FR  |  
EN

La mise à jour dynamique des programmes consiste en la modification de ceux-ci sans en arrêter l'exécution. Cette caractéristique est primordiale pour les applications critiques en continuelles évolutions et nécessitant une haute disponibilité. Le but de notre travail est d'effectuer la vérification formelle de la correction de la mise à jour dynamique d'applications Java Card à travers l'étude du système EmbedDSU. Pour ce faire, nous avons premièrement établi la correction de la mise à jour du code en définissant une sémantique formelle des opérations de mise à jour sur le code intermédiaire Java Card en vue d'établir la sûreté de typage des mises à jour. Nous avons ensuite proposé une approche pour vérifier la sémantique du code mis à jour à travers la définition d'une transformation de prédicats. Nous nous sommes ensuite intéressés à la vérification de la correction concernant la détection de points sûrs de la mise à jour. Nous avons utilisé la vérification de modèles. Cette vérification nous a permis de corriger d'abord un problème d'inter blocage dans le système avant d'établir d'autres propriétés de correction : la sûreté d'activation et la garantie de mise à jour. La mise à jour des données est effectuée à travers les fonctions de transfert d'état. Pour cet aspect, nous avons proposé une solution permettant d'appliquer les fonctions de transfert d’état tout en préservant la consistance du tas de la machine virtuelle Java Card et en permettant une forte expressivité dans leurs écritures.