2023 · IEEE Working Conference on Source Code Analysis and Manipulation (SCAM)
PASD: A Performance Analysis Approach Through the Statistical Debugging of Kernel Events
Evidence basis: metadata-only · Review status: catalog-reviewed; paper-author approval pending
kernel-tracing performance-analysis root-cause-analysis anomaly-detection
statistical debugging Linux kernel tracepoints Perf perf record call stacks sched_switch Firefox Coreutils ls Bug 1637586 Bug 1565019 function suspect ranking
Core contribution: PASD uses Linux kernel-event traces, Perf call stacks, and statistical debugging to rank functions associated with performance problems without application-source instrumentation.
Problem and motivation
Application instrumentation may be unavailable or intrusive, while kernel-event behavior and call stacks contain evidence about functions correlated with performance degradation.
Method and contribution
PASD traces Linux tracepoints such as sched_switch, IRQ, block-I/O, and network events and collects call stacks with perf record -g. It defines event-interval metrics, labels successful/failed and normal/abnormal observations, computes Failure, Context, and Increase statistics, ranks functions by Increase, and prunes the bottom 15%.
Findings and evidence
Three cases cover Firefox CSS-animation Bug 1637586, Firefox Tripadvisor CPU-exhaustion Bug 1565019, and slow ls in very large directories. The analysis identifies WebRenderCommandBuilder functions for the first case, gethostbyaddr_r/pthread_cond_signal/getifaddrs_internal among the top functions for the second, and GI statfs/do lstat/print color indicator in the ls case. Reported offline analysis times are about 173, 330, and 54 ms per 1,000 events for the three cases.
Limitations and future directions
Limitations: The evidence consists of three reproduced bug cases and does not establish broad workload, kernel-version, or online-diagnosis generalization. The collection is low-level and source-free, but the reported cases still rely on call-stack symbols and selected trace events.
Future work: Reduce manual intervention, use machine learning to predict performance and configure tracing dynamically, and evaluate databases, servers, parallel processing, and other complex systems.
Sources and identifiers
- Published version published
When to cite this paper
Cite this paper when using kernel events and Perf call stacks for source-free statistical performance debugging.
- Linux tracepoints and perf record -g for collecting kernel-event and call-stack evidence.
- Threshold-based Failure, Context, and Increase statistics for ranking suspicious functions.
- Firefox and ls bug-case studies with reported offline analysis cost per 1,000 events.
Citation
@inproceedings{ezzatiJivan2023pasda,
author = {Mohammed Adib Khan and Morteza Noferesti and Naser Ezzati-Jivan},
title = {PASD: A Performance Analysis Approach Through the Statistical Debugging of Kernel Events},
year = {2023},
booktitle = {IEEE Working Conference on Source Code Analysis and Manipulation (SCAM)},
pages = {151-161},
publisher = {IEEE},
doi = {10.1109/scam59687.2023.00025},
url = {https://doi.org/10.1109/scam59687.2023.00025}
}Other citation formats for Word and reference managers
Khan, M. A., Noferesti, M., & Ezzati-Jivan, N. (2023). PASD: A Performance Analysis Approach Through the Statistical Debugging of Kernel Events. In IEEE Working Conference on Source Code Analysis and Manipulation (SCAM) (pp. 151-161). https://doi.org/10.1109/scam59687.2023.00025M. A. Khan, M. Noferesti, and N. Ezzati-Jivan, "PASD: A Performance Analysis Approach Through the Statistical Debugging of Kernel Events," in IEEE Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 151-161, 2023, doi: 10.1109/scam59687.2023.00025