TY - GEN
T1 - Contextual analysis of program logs for understanding system behaviors
AU - Fu, Qiang
AU - Lou, Jian Guang
AU - Lin, Qingwei
AU - Ding, Rui
AU - Zhang, Dongmei
AU - Xie, Tao
PY - 2013
Y1 - 2013
N2 - Understanding the behaviors of a software system is very important for performing daily system maintenance tasks. In practice, one way to gain knowledge about the runtime behavior of a system is to manually analyze system logs collected during the system executions. With the increasing scale and complexity of software systems, it has become challenging for system operators to manually analyze system logs. To address these challenges, in this paper, we propose a new approach for contextual analysis of system logs for understanding a system's behaviors. In particular, we first use execution patterns to represent execution structures reflected by a sequence of system logs, and propose an algorithm to mine execution patterns from the program logs. The mined execution patterns correspond to different execution paths of the system. Based on these execution patterns, our approach further learns essential contextual factors (e.g., the occurrences of specific program logs with specific parameter values) that cause a specific branch or path to be executed by the system. The mining and learning results can help system operators to understand a software system's runtime execution logic and behaviors during various tasks such as system problem diagnosis. We demonstrate the feasibility of our approach upon two real-world software systems (Hadoop and Ethereal).
AB - Understanding the behaviors of a software system is very important for performing daily system maintenance tasks. In practice, one way to gain knowledge about the runtime behavior of a system is to manually analyze system logs collected during the system executions. With the increasing scale and complexity of software systems, it has become challenging for system operators to manually analyze system logs. To address these challenges, in this paper, we propose a new approach for contextual analysis of system logs for understanding a system's behaviors. In particular, we first use execution patterns to represent execution structures reflected by a sequence of system logs, and propose an algorithm to mine execution patterns from the program logs. The mined execution patterns correspond to different execution paths of the system. Based on these execution patterns, our approach further learns essential contextual factors (e.g., the occurrences of specific program logs with specific parameter values) that cause a specific branch or path to be executed by the system. The mining and learning results can help system operators to understand a software system's runtime execution logic and behaviors during various tasks such as system problem diagnosis. We demonstrate the feasibility of our approach upon two real-world software systems (Hadoop and Ethereal).
KW - Contextual analysis
KW - Log analysis
KW - Understanding system behaviors
UR - http://www.scopus.com/inward/record.url?scp=84889020151&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84889020151&partnerID=8YFLogxK
U2 - 10.1109/MSR.2013.6624054
DO - 10.1109/MSR.2013.6624054
M3 - Conference contribution
AN - SCOPUS:84889020151
SN - 9781467329361
T3 - IEEE International Working Conference on Mining Software Repositories
SP - 397
EP - 400
BT - 2013 10th Working Conference on Mining Software Repositories, MSR 2013 - Proceedings
T2 - 10th International Working Conference on Mining Software Repositories, MSR 2013
Y2 - 18 May 2013 through 19 May 2013
ER -