Lightweight runtime failure prediction
Özçelik, Burcu (2012) Lightweight runtime failure prediction. [Thesis]
Official URL: http://192.168.1.20/record=b1416924 (Table of Contents)
Software systems are getting increasingly complex and bigger in size. When these general trends are coupled with the shortcomings of software quality assurance techniques and time-to-market pressures, development houses are forced to release their software with many known and unknown defects, which inevitably cause failures in the field. Many approaches have been proposed in the literature to predict the manifestation of software failures at runtime and proactively take preventive measures, such as preventing the failures or decreasing their harmful consequences. Runtime prediction of failures is an integral part of such proactivepreventive frameworks. One downside of the existing approaches is that they treat software systems as a black-box and leverage only the profiling data which are directly observable from outside the programs, such as, CPU, memory, and network utilizations. Internal execution data is typically not leveraged. This is solely due to the potential runtime overhead cost that can be imposed by collecting internal execution data while the programs are running. As the failure prediction approaches target software systems operating in the field, high overhead costs are generally not acceptable. Consequently, the existing approaches mainly target at predicting failures caused by software aging. In this thesis, we present a lightweight runtime failure prediction approach that leverages internal execution data. We, furthermore, evaluate the approach by conducting a series of large-scale experiments, in which three widely-used software applications were used as subject applications. The results of our experiments strongly suggest that the proposed approach can reliably predict software failures at an affordable cost.
Repository Staff Only: item control page