Setting budgets for live debugging

Live debugging aims to automate the process of isolating bugs by providing a framework to pinpoint the likely causes of program errors within the production environment. It does so by cloning production application containers, and allowing for on-the-fly sandboxed debugging of user-input, without impacting the actual production system. In this paper, we investigate the use of overhead budgets for practical on-the-fly debugging. We formulate our problem using queuing theory, and show how it can give us an approximate budget limits. Debugging large-scale distributed systems is a well-documented complex problem. We evaluate our approach by running simulations using our model. Our results indicate that using budget allocations as an upper limit for debugging gives substantial improvements in terms of the debugging time available to the developer.