Contextual analysis of program logs for understanding system behaviors

  • Authors:
  • Qiang Fu;Jian-Guang Lou;Qingwei Lin;Rui Ding;Dongmei Zhang;Tao Xie

  • Affiliations:
  • Microsoft Research, China;Microsoft Research, China;Microsoft Research, China;Microsoft, China;Microsoft Research, China;North Carolina State University, USA

  • Venue:
  • Proceedings of the 10th Working Conference on Mining Software Repositories
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Understanding behaviors of a software system is very important to perform daily system maintenance tasks. In practice, one way to gain the 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 becomes 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 systems 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 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 systems runtime execution logics 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).