{'fraction_non_alphanumeric': 0.020848310567936738, 'fraction_numerical': 0.0, 'mean_word_length': 5.385321100917431, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Preventive maintenance for cloud-based software systems subject to non-constant failure rates

Online applications, such as e-commerce, have made a huge impact in our daily life. With the rapid shift of online applications to cloud-based platforms in recent years, it becomes very important to maintain the high Quality of Service (QoS) for cloud-based software systems in order to support successful businesses. Since hardware reliability has been well understood and is typically guaranteed by the cloud providers, software failures have now become the major factor of system failures in cloud-based software systems. Correctly measuring the reliability and availability of a cloud-based software system is critical for making preventive maintenance schedules. In this paper, we address software-aging related bugs or faults that may lead to performance degradation or increased failure rates of system components. Based on our previous work, we study how to derive preventive maintenance schedules for cloud-based software systems subject to non-constant failure rates. We adopt the Weibull distribution to model an increasing failure rate for software components with software-aging issues. Finally, we use a case study to show that our analytical approach can effectively support development of software rejuvenation schedules for preventive maintenance of cloud-based software systems.