Systematic Evaluation of Deep Learning Models for Log-based Failure Prediction (2303.07230v4)
Abstract: With the increasing complexity and scope of software systems, their dependability is crucial. The analysis of log data recorded during system execution can enable engineers to automatically predict failures at run time. Several Machine Learning (ML) techniques, including traditional ML and Deep Learning (DL), have been proposed to automate such tasks. However, current empirical studies are limited in terms of covering all main DL types -- Recurrent Neural Network (RNN), Convolutional Neural network (CNN), and transformer -- as well as examining them on a wide range of diverse datasets. In this paper, we aim to address these issues by systematically investigating the combination of log data embedding strategies and DL types for failure prediction. To that end, we propose a modular architecture to accommodate various configurations of embedding strategies and DL-based encoders. To further investigate how dataset characteristics such as dataset size and failure percentage affect model accuracy, we synthesised 360 datasets, with varying characteristics, for three distinct system behavioral models, based on a systematic and automated generation approach. Using the F1 score metric, our results show that the best overall performing configuration is a CNN-based encoder with Logkey2vec. Additionally, we provide specific dataset conditions, namely a dataset size >350 or a failure percentage >7.5%, under which this configuration demonstrates high accuracy for failure prediction.
- Bauer E, Adams R (2012) Reliability and availability of cloud computing. John Wiley & Sons
- Black PE (2020) Strongly connected component. Dictionary of Algorithms and Data Structures URL https://www.nist.gov/dads/HTML/stronglyConnectedCompo.html
- Breiman L (2001) Random forests. Machine learning 45(1):5–32, DOI 10.1023/A:1010933404324
- Chollet F (2017) Xception: Deep learning with depthwise separable convolutions. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
- Cortes C, Vapnik V (1995) Support-vector networks. Machine learning 20(3):273–297
- Foundation CC (2023) Common crawl corpus. URL https://commoncrawl.org/
- Hochreiter S, Schmidhuber J (1997b) Long short-term memory. Neural Computation 9(8):1735–1780
- Kim Y (2014) Convolutional neural networks for sentence classification. arXiv preprint arXiv:14085882
- Lipton ZC (2015) A critical review of recurrent neural networks for sequence learning. ArXiv abs/1506.00019
- Package RP (2019) URL https://docs.python.org/3/library/random.html, accessed 2022-11-14
- Tauber A (2018) exrex: Irregular methods for regular expressions. URL https://github.com/asciimoo/exrex, accessed 2022-11-14