Software Testing Strategies for Detecting Hypercall Handlers' Aging-related Bugs
Lukas Beierlieb, Alberto Avritzer, Lukas Iffländer, Nuno Antunes, Aleksandar Milenkoski, Samuel Kounev · 2021 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW) · 2021
With the continuing rise of cloud technology hypervisors play a vital role in the performance and reliability of current services. As long-running applications, they are susceptible to software aging. Hypervisors offer so-called hypercall interfaces for communication with the hosted virtual machines. These interfaces require thorough testing to ensure their long-term reliability. Existing research deals with the aging properties of hypervisors in general without considering the hypercalls. In this work, we share our experience that we collected during trying to understand hypercalls and their parameters and use them to construct test cases for hypervisor aging of Microsoft Hyper-V. We present a bug that we detected, which was reported and acknowledged by Microsoft. Further, based on our manual binary code analysis, we propose the idea of automating the analysis process to detect valid parameter ranges and execution conditions of hypercalls without manual effort.