Débogage des systèmes embarqués multiprocesseur basé sur la ré-exécution déterministe et partielle

Thèse
 - 
LIG
Kiril Georgiev
Mardi 04 décembre 2012
Réalisation technique : Djamel Hadji | Tous droits réservés

Les plates-formes MPSoC permettent de satisfaire les contraintes de performance, de flexibilité et de consommation énergétique requises par les systèmes embarqués émergents. Elles intègrent un nombre important de processeurs, de blocs de mémoire et de périphériques, hiérarchiquement organisés par un réseau d’interconnexion. Le développement du logiciel est réputé difficile, notamment à cause de la gestion d’un grand nombre d’entités d’exécution (tâches/threads/processus). L’exécution concurrente de ces entités permet d’exploiter efficacement l’architecture mais complexifie le processus de mise au point et l’analyse des erreurs. D’une part, des exécutions peuvent être non-déterministes, c’est à dire qu’elles peuvent se dérouler d’une manière différente. En conséquence, il n’est pas garanti qu’une erreur se produirait durant la phase de mise au point. D’autre part, la complexité de l’architecture et de l’exécution peut rendre trop important le nombre d’éléments à analyser afin d’identifier une erreur. Il pourrait donc être difficile de se focaliser sur des éléments potentiellement fautifs. Un des défis majeurs du développement logiciel MPSoC est donc de réduire le temps de la mise au point.

Dans cette thèse, nous proposons une méthodologie de mise au point qui aide le développeur à identifier les erreurs dans le logiciel MPSoC. Notre premier objectif est de déboguer une même exécution plusieurs fois afin d’analyser des sources d’erreurs potentielles. Nous avons donc identifié les sources de non-déterminisme MPSoC et proposé des mécanismes de ré-exécution déterministe adaptés. Notre deuxième objectif vise à minimiser les ressources utilisées à reproduire une exécution afin de satisfaire la contrainte MPSoC de maîtrise de l’intrusion. Nous avons donc utilisé des mécanismes efficaces de ré-exécution déterministe et considéré qu’une partie du comportement non-déterministe. Le troisième objectif est de permettre le passage à l’échelle, c’est à dire de déboguer des exécutions caractérisées par un nombre d’éléments de plus en plus croissant. Nous avons donc proposé une méthode qui permet de circonscrire et de déboguer qu’une partie de l’exécution. De plus, cette méthode s’applique aux différents types d’architectures et d’applications MPSoC. Nous montrons la valeur ajoutée de notre méthodologie par le biais de différentes études de cas qui utilisent plusieurs configurations matérielles et logicielles. Mots-clés : Débogage, ré-exécution déterministe, ré-exécution partielle, MPSoC.

L'UMS MI2S a fermé le 31 décembre 2016, les vidéos hébergées sur son site le sont maintenant sur le site de GRICAD. Conformément à la loi informatique et libertés du 6 janvier 1978 modifiée, vous pouvez exercer vos droits de rétraction ou de modification relatifs aux autorisations validées par MI2S auprès de l'UMS GRICAD.