Data Mining Approach to Temporal Debugging of Embedded Streaming Applications

Résumé : Débogage des applications de streaming qui s'exécutent sur les systèmes embarqués multimédia (trouvés dans les boîtes décodeurs, smartphones, et autres appareils électroniques grand public) est l'un des domaines les plus exigeants dans le développement de logiciel embarqué. Les nouvelles générations du materiél embarqué introduisent des nouvelles systèmes sur une puce, qui fait que les développeurs du logiciel doivent adapter leurs logiciels aux nouvelles platformes. Le logiciel embarqué doit non seulement fournir des résultats corrects mais aussi le faire à temps réél afin de respecter les propriétés de qualite de service (Quality-of-Service, QoS) du système. Lorsque les propriétés QoS ne sont pas respectées, les bugs temporels font son apparition. Ces bugs se manifestent comme, par exèmple, des glitches dans le flux vidéo ou des craquements dans le flux audio. Le débogage temporel est en général difficile à effectuer car les bugs temporels n'ont pas souvent de rapport avec l'exactitude fonctionnelle du code des applications, ce qui fait les outils de débogage traditionels, comme GDB, peu utiles. Le non-respect des propriétés QoS peut originer des interactions entre les applications ou entre les applications et les processus systèmes. Par conséquent, le contexte d'exécution entier doit être pris en compte pour le débogage temporel. Les avancements récents en collecte des traces d'exécution permettent les développeurs de recueillir des traces et de les analyser après la fin d'exécution pour comprendre quelle activité système est responsable des bugs temporels. Cependant, les traces d'exécution ont une taille conséquente, ce qui demande aux devéloppeurs des connaissainces en analyse de données qu'ils normalement ne possedent pas. Dans cette thèse, nous proposons SATM - une approche novateur pour le débogage temporel des applications de streaming. SATM repose sur la premisse que les applications sont conçues avec le modèle dataflow, i.e. peuvent être représentées comme un graphe orienté où les données coulent entre des unités de calcul (fontions, modules, etc.) appelées "acteurs". Les acteurs doivent être ordonnés de manière périodique afin de respecter les propriétés QoS représentées par les contraintes de temps-réél, e.g. une affichage des 30 trames vidéo par seconde. Nous montrons qu'un acteur qui ne respecte pas de façon répétée sa période pendant l'exécution de l'application cause la violation des contraintes temps-reel de l'application. Pratiquement, SATM est un workflow d'analyse de données venant des traces d'exécution qui combine des mesures statistiques avec des algorithmes de fouille de données. SATM fournit une méthode automatique du débogage temporel des applications de streaming. Notre approche prend en entrée une trace d'exécution d'une application ayant une basse QoS ainsi qu'une liste de ses acteurs, et tout d'abord détecte des invocations des acteurs dans la trace. SATM ensuite découvre les périodes des acteurs ainsi que les séctions de la trace où la période n'a pas été respectée. Enfin, ces séctions sont analysées afin d'extraire des motifs de l'activité système qui différencient ces sections des autres séctions de la trace. Tels motifs peuvent donner des indices sur l'origine du problème temporel dans le systeme et sont rendu au devéloppeur. Plus précisément, nous représentons ces motifs comme des séquences contrastes minimales et nous étudions des différentes solutions pour fouiller ce type de motifs à partir des traces d'exécution. Finalement, nous montrons la capacité de SATM de détecter une perturbation temporelle injectée artificiellement dans un framework multimedia GStreamer, ainsi que des bugs temporels dans les deux cas d'utilisation des applications de streaming industrielles provenant de la société STMicroelectronics. Aussi, nous fournissons une analyse extensive des algorithmes de fouille de motifs séquentiels appliqués sur les données venant des traces d'exécution, et nous expliquons quelle est la raison que les algorithmes de pointe n'arrivent pas à fouiller les motifs séquentiels à partir des traces d'exécution de façon efficace
Type de document :
Thèse
Embedded Systems. Université Grenoble Alpes, 2016. English
Liste complète des métadonnées

Littérature citée [81 références]  Voir  Masquer  Télécharger

https://hal.archives-ouvertes.fr/tel-01321286
Contributeur : Oleg Iegorov <>
Soumis le : mercredi 25 mai 2016 - 12:58:41
Dernière modification le : lundi 29 janvier 2018 - 12:00:50
Document(s) archivé(s) le : vendredi 26 août 2016 - 10:44:17

Identifiants

  • HAL Id : tel-01321286, version 1

Collections

Citation

Oleg Iegorov. Data Mining Approach to Temporal Debugging of Embedded Streaming Applications. Embedded Systems. Université Grenoble Alpes, 2016. English. 〈tel-01321286〉

Partager

Métriques

Consultations de la notice

290

Téléchargements de fichiers

197