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.
翻译:随着软件系统日益复杂和范围日益扩大,其可靠性至关重要。对系统执行期间记录的日志数据的分析使工程师能够自动预测运行时的故障。一些机器学习(ML)技术,包括传统的ML和深层学习(DL)技术,已经建议将这些任务自动化。然而,目前的经验研究在涵盖所有主要的 DL 类型 -- -- 经常性神经网络(RNN)、进化神经网络(CNN)和变压器 -- -- 以及从多种不同的数据集中检查这些数据。在本文件中,我们的目标是通过系统调查日志数据嵌入战略和DL类型失败预测的组合来解决这些问题。为此,我们提议了一个模块架构,以容纳嵌入战略和DL基编码(DL)的各种配置。为了进一步调查数据集大小和故障百分比等数据集特征如何影响模型的准确性,我们根据系统化和自动生成方法,对三个不同的系统行为模型的360个数据集进行了综合。我们用F1评分的测量结果显示,在系统化和自动生成中,我们进行的最佳总体配置是运行一个基于 CNNCM2 的默认大小数据配置, 提供了一种特定的失败率。</s>