Débogage logiciel : iSystem mise sur le profilage reposant sur l'échantillonnage

Analyse statistique de l'utilisation du processeur, des tâches du système d'exploitation et de la répartition de la charge des routines d’interruption (ISR, Interrupt Service Routine), et surveillance des signaux de données au fil du temps à travers un port de débogage classique, ...telles sont les nouvelles fonctions assignées par la firme autrichienne iSystem à son environnement de développement winIDEA.... Cette approche du profilage reposant sur l'échantillonnage permet aux développeurs d'effectuer une analyse temporelle en utilisant simplement l'interface de débogage des microcontrôleurs et les ressources de trace matérielle afférentes.

Grâce aux fonctions Program Counter et Data Sampling intégrées au sein de winIDEA, les développeurs peuvent ainsi mesurer et surveiller statistiquement l'utilisation du processeur, la répartition de la charge et les signaux de données au fil du temps afin de tester rapidement leur application. Les fonctionnalités visent à rationaliser le développement et les tests de logiciels, en particulier pour les applications à contraintes de sûreté sur divers marchés tels que l'automobile, la santé et l'automatisation industrielle.

Concrètement l’utilisateur obtient désormais des données de trace en échantillonnant des emplacements mémoire spécifiques ou le compteur de programme sans avoir besoin de matériel spécifique de mesure de trace. Le profileur échantillonne les données liées à l'exécution du programme et calcule l'utilisation du processeur en pourcentage pour chaque fonction afin de calculer la charge de chacune d’entre elles. Le profilage de la tâche d'exécution du système d'exploitation et de la charge des routines ISR donne alors des informations sur la distribution des tâches du système d'exploitation.

Le développeur exécute en fait des échantillons jusqu'à ce que les statistiques se stabilisent. Ce qui fournit une bonne indication de la situation de charge dans le système et aide le développeur à juger si l'application s'exécute comme prévu ou non. Enfin l’autre voie d’utilisation du profilage reposant sur l'échantillonnage consiste à construire l’équivalent d’un oscilloscope pour surveiller les signaux de données au fil du temps.

iSystem souligne que le profilage fondé sur l'échantillonnage ne remplace pas la trace matérielle réelle car il ne peut garantir que tous les événements pertinents soient effectivement capturés. Cependant, selon la société, c'est un outil idéal pour l'étude des variables à évolution lente dans un système.

« Certains d'entre nous l'appellent "Poor Man's Profiler", mais le profilage fondé sur l'échantillonnage est une méthode d'analyse statistique extrêmement utile qui est une extension des fonctions classiques d’un analyseur de logiciels, commente Erol Simsek, le CEO d'iSystem. Même si le processeur n'a pas d'interface de trace pour une analyse pure de la synchronisation et de la charge, cette nouvelle fonctionnalité permet aux développeurs d'avoir rapidement une idée du comportement d'exécution de leur logiciel. »