Prognostic and Health Management (PHM) has been widely applied to hardware systems in the electronics and non-electronics domains but has not been explored for software. While software does not decay over time, it can degrade over release cycles. Software health management is confined to diagnostic assessments that identify problems, whereas prognostic assessment potentially indicates when in the future a problem will become detrimental. Relevant research areas such as software defect prediction, software reliability prediction, predictive maintenance of software, software degradation, and software performance prediction, exist, but all of these represent diagnostic models built upon historical data, none of which can predict an RUL for software. This paper addresses the application of PHM concepts to software systems for fault predictions and RUL estimation. Specifically, this paper addresses how PHM can be used to make decisions for software systems such as version update and upgrade, module changes, system reengineering, rejuvenation, maintenance scheduling, budgeting, and total abandonment. This paper presents a method to prognostically and continuously predict the RUL of a software system based on usage parameters (e.g., the numbers and categories of releases) and performance parameters (e.g., response time). The model developed has been validated by comparing actual data, with the results that were generated by predictive models. Statistical validation (regression validation, and k-fold cross validation) has also been carried out. A case study, based on publicly available data for the Bugzilla application is presented. This case study demonstrates that PHM concepts can be applied to software systems and RUL can be calculated to make system management decisions.
翻译:预测与健康管理(PHM)已广泛应用于电子与非电子领域的硬件系统,但在软件领域尚未得到探索。尽管软件不会随时间衰减,但会随发布周期发生性能退化。软件健康管理局限于识别问题的诊断性评估,而预测性评估则能指示未来何时问题将变得致命。现有的相关研究领域包括软件缺陷预测、软件可靠性预测、软件预测性维护、软件退化及软件性能预测,但这些均是基于历史数据构建的诊断模型,均无法预测软件的剩余使用寿命(RUL)。本文探讨了将PHM概念应用于软件系统以实现故障预测及RUL估计。具体而言,本文阐述了如何利用PHM为软件系统制定版本更新与升级、模块变更、系统重构、恢复、维护调度、预算编制及完全废弃等决策。本文提出了一种基于使用参数(如发布次数与类别)及性能参数(如响应时间)对软件系统进行预测性连续RUL估计的方法。通过将实际数据与预测模型生成的结果进行对比验证,并对模型进行了统计验证(回归验证及k折交叉验证)。本文还基于Bugzilla应用程序的公开数据开展了案例研究。该案例研究表明,PHM概念可应用于软件系统,且可通过计算RUL来制定系统管理决策。