<  Back to the Polytechnique Montréal portal

A declarative framework for stateful analysis of execution traces

Florian Wininger, Naser Ezzati-Jivan and Michel R. Dagenais

Article (2017)

[img]
Preview
Accepted Version
Terms of Use: All rights reserved.
Download (821kB)
Cite this document: Wininger, F., Ezzati-Jivan, N. & Dagenais, M. R. (2017). A declarative framework for stateful analysis of execution traces. Software Quality Journal, 25(1), p. 201-229. doi:10.1007/s11219-016-9311-0
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

Open Access document in PolyPublie
Subjects: 2700 Technologie de l'information > 2700 Technologie de l'information
Department: Département de génie informatique et génie logiciel
Research Center: Non applicable
Funders: CRSNG/NSERC
Grant number: CRDPJ468687-14
Date Deposited: 12 Feb 2018 17:15
Last Modified: 24 Oct 2018 16:12
PolyPublie URL: https://publications.polymtl.ca/2987/
Document issued by the official publisher
Journal Title: Software Quality Journal (vol. 25, no. 1)
Publisher: Springer
Official URL: 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