Data-Driven Predictive Maintenance for Software Systems

Software/system maintenance costs are increasingly growing, as systems become more complex and interdependent (e.g. cyber-physical systems). The aim of predictive maintenance is to predict system failures, and provide warnings that enable timely prevention of failures.

This is done by analyzing historical and real-time system operational data, to be able to predict the future trend of system failures.

This project will implement predictive maintenance support by first collecting past and real-time system data originating from multiple sources, followed by data analysis to detect anomalies and failure patterns, consequently determining areas that are at the highest risk of malfunction. This will be achieved using selected machine learning (ML) techniques, including neural networks, reinforcement learning, and deep learning. The goal is to investigate the performance of different ML techniques, given the specifics of the two given industry domains. Afterwards, we will investigate the use of other available system development artefacts to identify main variables being part of the root-cause analysis.


This project focuses on developing novel techniques for predictive maintenance of software-intensive systems, aimed at enabling more cost-effective operation of complex industrial systems. The developed predictive maintenance techniques will use machine learning algorithms for efficiently leveraging heterogeneous information sources, combining historical and live data obtained from system development, testing, and operation, to enable identification of system/component failures as early as possible. These techniques will improve the efficiency of system operation, and reduce system maintenance costs and downtime. More specific goals of the project are to:

  • Develop predictive models for early software fault detection using heterogeneous data sources;
  • Develop a technology that uses these predictive models to inform operators of anticipated failures and therefore enable timely maintenance;
  • Experimentally evaluate the cost-effectiveness of the proposed technology;

Together with industry partners, demonstrate the technology in two relevant industry domains.