Sujet de stage
Profilage et am´elioration
d’un algorithme de comparaison
de deux sp´ecifications ASN.1
1 Contexte
ASN.1 1est une notation formelle normalis´ee qui permet de d´ecrire les donn´ees transf´er´ees par
les protocoles de t´el´ecommunications.
ASN.1 est utilis´e dans de nombreux domaines d’application parmi lesquels on peut citer le cour-
rier ´electronique X.400, les r´eseaux intelligents, le commerce et le paiement ´electroniques (protocole
SET, authentification X.509...), les communications multim´edias (visioconf´erence, communications
multim´edias en temps r´eel sur Internet...), les t´el´ephones mobiles, etc.
Dans le cadre de transferts de donn´ees entre deux syst`emes qui n’utilisent pas la mˆeme version
d’une sp´ecification ASN.1, on souhaite v´erifier que l’une des versions est bien un sur-ensemble de
l’autre.
Le Cnet a implant´eenObjective Caml 2un comparateur de sp´ecifications ASN.1 dont les r´esultats
sont tr`es encourageants.
Ce comparateur a notamment ´et´e utilis´epourd´etecter les diff´erences entre une sp´ecification
ASN.1 utilis´ee dans le r´eseau intelligent fixe de France T´el´ecom et une sp´ecification similaire du
r´eseau intelligent mobile. L’outil va aussi servir dans la cadre d’un e-tutoriel pour la notation ASN.1
o`u il permettra de corriger automatiquement un exercice en comparant la solution de l’´etudiant `a
une solution-type.
Le premier objectif ´etant de disposer de cet outil `atr`es court terme et d’appr´ecier la pertinence
des messages d’erreur retourn´es, les aspects de complexit´e et de rapidit´ed’ex´ecution de l’algorithme
n’ont d´elib´er´ement pas ´et´eabord´es lors de son ´elaboration.
2 Travail demand´e
Le travail consiste `a:
– profiler l’ex´ecution du comparateur `a l’aide de l’outil ocamlprof ;
–´etudier la complexit´e de l’algorithme de comparaison en vue de diminuer cette complexit´eet
d’am´eliorer le temps d’ex´ecution pour des sp´ecifications ASN.1 qui peuvent atteindre plusieurs
milliers de lignes.
1. http://asn1.elibel.tm.fr/fr/
2. http://caml.inria.fr/ocaml/