<  Back to the Polytechnique Montréal portal

A declarative framework for stateful analysis of execution traces

Florian Wininger, Naser Ezzati-Jivan and Michel Dagenais

Article (2017)

Open Access document in PolyPublie
[img]
Preview
Open Access to the full text of this document
Accepted Version
Terms of Use: All rights reserved
Download (809kB)
Show abstract
Hide abstract

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

Repository Staff Only

View Item View Item