On the Costs and Benefits of Adopting Lifelong Learning for Software Analytics - Empirical Study on Brown Build and Risk Prediction
Open Access
- 14 April 2024
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 275-286
Abstract
Nowadays, software analytics tools using machine learning (ML) models to, for example, predict the risk of a code change are well established. However, as the goals of a project shift over time, and developers and their habits change, the performance of said models tends to degrade (drift) over time. Current retraining practices typically require retraining a new model from scratch on a large updated dataset when performance decay is observed, thus incurring a computational cost; also there is no continuity between the models as the past model is discarded and ignored during the new model training. Even though the literature has taken interest in online learning approaches, those have rarely been integrated and evaluated in industrial environments. This paper evaluates the use of lifelong learning (LL) for industrial use cases at Ubisoft, evaluating both the performance and the required computational effort in comparison to the retraining-from-scratch approaches commonly used by the industry. LL is used to continuously build and maintain ML-based software analytics tools using an incremental learner that progressively updates the old model using new data. To avoid so-called "catastrophic forgetting" of important older data points, we adopt a replay buffer of older data, which still allows us to drastically reduce the size of the overall training dataset, and hence model training time. Empirical evaluation of our LL approach on two industrial use cases, i.e., a brown build detector and a just-in-time risk prediction tool, shows how LL in practice manages to at least match traditional retraining-from-scratch performance in terms of F1-score, while using 3.3-13.7x less data at each update, thus considerably speeding up the model updating process. Considering both the computational effort of updates and the time between model updates, the LL setup needs 2-40x less computational effort than retraining-from-scratch setups, thus clearly showing the potential of LL setups in the industry.Keywords
All Related Versions
This publication has 50 references indexed in Scilit:
- Improving the prediction of continuous integration build failures using deep learningAutomated Software Engineering, 2022
- Continual lifelong learning with neural networks: A reviewNeural Networks, 2019
- Lifelong learning of human actions with deep neural network self-organizationNeural Networks, 2017
- Comparison of a logistic regression and Naïve Bayes classifier in landslide susceptibility assessments: The influence of models complexity and training dataset sizeCATENA, 2016
- Lifelong machine learning: a paradigm for continuous learningFrontiers of Computer Science, 2016
- Characterizing concept driftData Mining and Knowledge Discovery, 2016
- On the dataset shift problem in software engineering prediction modelsEmpirical Software Engineering, 2011
- Concept drift and how to identify itJournal of Web Semantics, 2011
- Cross-Validation2009
- Queries and concept learningMachine Learning, 1988