TY - JOUR
T1 - Algorithmic Profiling for Real-World Complexity Problems
AU - Qin, Boqin
AU - Tu, Tengfei
AU - Liu, Ziheng
AU - Yu, Tingting
AU - Song, Linhai
N1 - Publisher Copyright:
© 1976-2012 IEEE.
PY - 2022/7/1
Y1 - 2022/7/1
N2 - Complexity problems are a common type of performance issues, caused by algorithmic inefficiency. Algorithmic profiling aims to automatically attribute execution complexity to an executed code construct. It can identify code constructs in superlinear complexity to facilitate performance optimizations and debugging. However, existing algorithmic profiling techniques suffer from several severe limitations, missing the opportunity to be deployed in production environment and failing to effectively pinpoint root causes for performance failures caused by complexity problems. In this paper, we design a tool, ComAir, which can effectively conduct algorithmic profiling in production environment. We propose several novel instrumentation methods to significantly lower runtime overhead and enable the production-run usage. We also design an effective ranking mechanism to help developers identify root causes of performance failures due to complexity problems. Our experimental results show that ComAir can effectively identify root causes and generate accurate profiling results in production environment, while incurring a negligible runtime overhead.
AB - Complexity problems are a common type of performance issues, caused by algorithmic inefficiency. Algorithmic profiling aims to automatically attribute execution complexity to an executed code construct. It can identify code constructs in superlinear complexity to facilitate performance optimizations and debugging. However, existing algorithmic profiling techniques suffer from several severe limitations, missing the opportunity to be deployed in production environment and failing to effectively pinpoint root causes for performance failures caused by complexity problems. In this paper, we design a tool, ComAir, which can effectively conduct algorithmic profiling in production environment. We propose several novel instrumentation methods to significantly lower runtime overhead and enable the production-run usage. We also design an effective ranking mechanism to help developers identify root causes of performance failures due to complexity problems. Our experimental results show that ComAir can effectively identify root causes and generate accurate profiling results in production environment, while incurring a negligible runtime overhead.
KW - Algorithmic complexity
KW - Program analysis
UR - http://www.scopus.com/inward/record.url?scp=85103238626&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85103238626&partnerID=8YFLogxK
U2 - 10.1109/TSE.2021.3067652
DO - 10.1109/TSE.2021.3067652
M3 - Article
AN - SCOPUS:85103238626
SN - 0098-5589
VL - 48
SP - 2680
EP - 2694
JO - IEEE Transactions on Software Engineering
JF - IEEE Transactions on Software Engineering
IS - 7
ER -