Mining Temporal Rules from Program Execution Traces
Conference Proceeding Article
Specification mining is a process of extracting specifications, often from program execution traces. These specifications can in turn be used to aid program understanding, monitoring and verification. There are a number of dynamic-analysis-based specification mining tools in the literature, however none so far extract past time temporal expressions in the form of rules stating: "whenever a series of events occurs, previously another series of events has happened". Rules of this format are commonly found in practice and useful for various purposes. Most rule-based specification mining tools only mine future-time temporal expression. Many past-time temporal rules like "whenever a resource is used, it was allocated before" are asymmetric as the other direction does not holds. Hence, there is a need to mine past-time temporal rules. In this paper, we describe an approach to mine significant rules of the above format occurring above a certain statistical thresholds from program execution traces. The approach start from a set of traces, each being a sequence of events (i.e., method invocations) and resulting in a set of significant rules obeying minimum thresholds of support and confidence. A rule compaction mechanism is employed to reduce the number of reported rules significantly. Experiments on traces of JBoss Application Server shows the utility of our approach in inferring interesting past-time temporal rules.
Proceedings of the 3rd International Workshop on Program Comprehension through Dynamic Analysis (PCODA)
City or Country
LO, David; KHOO, Siau-Cheng; and LIU, Chao.
Mining Temporal Rules from Program Execution Traces. (2007). Proceedings of the 3rd International Workshop on Program Comprehension through Dynamic Analysis (PCODA). Research Collection School Of Information Systems.
Available at: http://ink.library.smu.edu.sg/sis_research/949