<  Retour au portail Polytechnique Montréal

A declarative framework for stateful analysis of execution traces

Florian Wininger, Naser Ezzati-Jivan et Michel Dagenais

Article de revue (2017)

Document en libre accès dans PolyPublie
[img]
Affichage préliminaire
Libre accès au plein texte de ce document
Version finale avant publication
Conditions d'utilisation: Tous droits réservés
Télécharger (809kB)
Afficher le résumé
Cacher le résumé

Abstract

With newer complex multi-core systems, it is important to understand applications' run-time behaviour to be able to debug their executions, detect possible problems and bottlenecks and finally identify potential root-causes. Execution traces usually contain precise data about applications' execution, with which analysis and abstraction at multiple levels, they can provide valuable information and insights about the applications'run-time behaviour. However, with multiple abstraction levels, it becomes increasingly difficult to find the exact location of detected performance or security problem. Tracing tools provide various analysis views to help understand these problems. However, these views are not somehow enough to uncover all aspects of the underlying issues. The developer is in fact the one who best knows his application. Therefore, a declarative approach that enables users to specify and build their custom analysis based on their knowledge, requirements and problems can be more useful and effective. In this paper we propose a generic declarative trace analysis framework to analyze, comprehend and visualize execution traces. This enhanced framework builds custom analysis based on a specified modelled state, extracted from a system execution trace and stored in a special purpose database. The proposed solution enables users to first define their different analysis models based on their application and requirements, then visualize these models in many alternate representations (Gantt chart, XY chart, etc.), and finally filter the data to get some highlights or detect some potential patterns. Several sample applications with different operating systems are shown using trace events gathered from Linux and Windows kernel and user-space levels.

Mots clés

Software debugging, Declarative debugging, Execution trace analysis

Sujet(s): 2700 Technologie de l'information > 2700 Technologie de l'information
Département: Département de génie informatique et génie logiciel
Organismes subventionnaires: CRSNG/NSERC
Numéro de subvention: CRDPJ468687-14
URL de PolyPublie: https://publications.polymtl.ca/2987/
Titre de la revue: Software Quality Journal (vol. 25, no 1)
Maison d'édition: Springer
DOI: 10.1007/s11219-016-9311-0
URL officielle: https://doi.org/10.1007/s11219-016-9311-0
Date du dépôt: 12 févr. 2018 17:15
Dernière modification: 10 avr. 2024 01:36
Citer en APA 7: Wininger, F., Ezzati-Jivan, N., & Dagenais, M. (2017). A declarative framework for stateful analysis of execution traces. Software Quality Journal, 25(1), 201-229. https://doi.org/10.1007/s11219-016-9311-0

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Dimensions

Actions réservées au personnel

Afficher document Afficher document