TFix+: Self-configuring Hybrid Timeout Bug Fixing for Cloud Systems
Timeout bugs can cause serious availability and performance issues which are often difficult to fix due to the lack of diagnostic information. Previous work proposed solutions for fixing specific type of timeout-related performance bugs. In this paper, we present TFix+, a self-configuring timeout bug fixing framework for automatically correcting two major kinds of timeout bugs (i.e., misused timeout bugs and missing timeout bugs) with dynamic timeout value predictions. TFix+ provides two new hybrid schemes for fixing misused and missing timeout bugs, respectively. TFix+ further provides prediction-driven timeout variable configuration based on runtime function tracing. We have implemented a prototype of TFix+ and conducted experiments on 16 real world timeout bugs. Our experimental results show that TFix+ can effectively fix 15 out of tested 16 timeout bugs.
READ FULL TEXT