2017 · Software Quality Journal
A declarative framework for stateful analysis of execution traces
Evidence basis: full-text-reviewed · Review status: catalog-reviewed; paper-author approval pending
trace-analysis trace-abstraction performance-analysis system-tracing trace-visualization
declarative trace analysis stateful analysis execution traces LTTng ETW State History Tree XML trace filtering Gantt chart critical-path analysis
Core contribution: The framework lets analysts define stateful trace analyses declaratively, using a generic state model and XML specifications that can drive storage, filtering, and visualization across trace formats.
Problem and motivation
Fixed trace viewers and hard-coded analyses do not scale to application-specific performance, security, or bottleneck questions and tie analyses to particular tracer formats.
Method and contribution
Define a generic interval-based state model and compile XML/XSD state specifications into reusable providers, filters, and visualizations backed by the State History Tree. The same style of model is demonstrated with LTTng/CTF and ETW.
Findings and evidence
Declarative specifications produce the same state-oriented views across Linux and Windows examples. Compiled Java and XML execution have similar measured times on 13.4 MiB and 100 MiB traces, while resolution-aware queries substantially lower display latency.
Limitations and future directions
Limitations: The language cannot express unrestricted branching; filters are virtual and not persistent; query cost grows with state attributes; resolution sampling can lose detail and correctness. The examples are not a broad scalability or user study.
Future work: Add critical-path analysis and more visualization types, and parallelize event parsing and state construction.
Sources and identifiers
- Published version published
- Public PolyPublie PDF · PDF public_full_text
When to cite this paper
Cite this paper when your work uses or compares a declarative XML/XSD state-analysis language that compiles event handlers into reusable trace-state providers.
- For a declarative XML/XSD state-analysis language that compiles event handlers into reusable trace-state providers.
- For cross-tracer state visualization demonstrated with LTTng/CTF and Windows ETW.
- For measured resolution-aware trace display, including the speed/detail tradeoff in Table III.
Citation
@article{ezzatiJivan2017adeclarative,
author = {Florian Wininger and Naser Ezzati-Jivan and Michel R. Dagenais},
title = {A declarative framework for stateful analysis of execution traces},
year = {2017},
journal = {Software Quality Journal},
volume = {25},
number = {1},
pages = {201-229},
publisher = {Springer Science and Business Media LLC},
issn = {0963-9314, 1573-1367},
doi = {10.1007/s11219-016-9311-0},
url = {https://doi.org/10.1007/s11219-016-9311-0}
}Other citation formats for Word and reference managers
Wininger, F., Ezzati-Jivan, N., & Dagenais, M. R. (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-0F. Wininger, N. Ezzati-Jivan, and M. R. Dagenais, "A declarative framework for stateful analysis of execution traces," Software Quality Journal, vol. 25, no. 1, pp. 201-229, 2017, doi: 10.1007/s11219-016-9311-0