Florian Wininger, Naser Ezzati-Jivan and Michel Dagenais
Article (2017)
Open Access document in PolyPublie |
|
Open Access to the full text of this document Accepted Version Terms of Use: All rights reserved Download (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.
Uncontrolled Keywords
Software debugging, Declarative debugging, Execution trace analysis
Subjects: | 2700 Information technology > 2700 Information technology |
---|---|
Department: | Department of Computer Engineering and Software Engineering |
Funders: | CRSNG/NSERC |
Grant number: | CRDPJ468687-14 |
PolyPublie URL: | https://publications.polymtl.ca/2987/ |
Journal Title: | Software Quality Journal (vol. 25, no. 1) |
Publisher: | Springer |
DOI: | 10.1007/s11219-016-9311-0 |
Official URL: | https://doi.org/10.1007/s11219-016-9311-0 |
Date Deposited: | 12 Feb 2018 17:15 |
Last Modified: | 27 Sep 2024 16:17 |
Cite in 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 |
---|---|
Statistics
Total downloads
Downloads per month in the last year
Origin of downloads
Dimensions