Publication Type

Conference Proceeding Article

Version

submittedVersion

Publication Date

5-2009

Abstract

Software is a ubiquitous component of our daily life. We often depend on the correct working of software systems. Due to the difficulty and complexity of software systems, bugs and anomalies are prevalent. Bugs have caused billions of dollars loss, in addition to privacy and security threats. In this work, we address software reliability issues by proposing a novel method to classify software behaviors based on past history or runs. With the technique, it is possible to generalize past known errors and mistakes to capture failures and anomalies. Our technique first mines a set of discriminative features capturing repetitive series of events from program execution traces. It then performs feature selection to select the best features for classification. These features are then used to train a classifier to detect failures. Experiments and case studies on traces of several benchmark software systems and a real-life concurrency bug from MySQL server show the utility of the technique in capturing failures and anomalies. On average, our pattern-based classification technique outperforms the baseline approach by 24.68% in accuracy.

Keywords

closed unique patterns, failure detection, iterative patterns, pattern-based classification, sequential database, software behaviors

Discipline

Software Engineering

Research Areas

Software Systems

Publication

ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD)

ISBN

9781605584959

Identifier

10.1145/1557019.1557083

Publisher

ACM

City or Country

Paris, France

Additional URL

http://dx.doi.org/10.1145/1557019.1557083

Share

COinS