Florian Wininger, Naser Ezzati-Jivan et Michel Dagenais
Article de revue (2017)
Document en libre accès dans PolyPublie |
|
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) |
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: | 27 sept. 2024 16:17 |
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