IsoBugView: Interactively Debugging Isolation Bugs in Database Applications

IsoBugView: Interactively Debugging Isolation Bugs in Database Applications
复制标题

DOI:
10.14778/3554821.3554885
复制
发表时间:
2022-08
期刊:
Proc. VLDB Endow.
影响因子:
--
通讯作者:
Drew Ripberger;Yifan Gan;Xueyuan Ren;Spyros Blanas;Yang Wang
Drew Ripberger;Yifan Gan;Xueyuan Ren;Spyros Blanas;Yang Wang
中科院分区:
其他
文献类型:
--
作者:
Drew Ripberger;Yifan Gan;Xueyuan Ren;Spyros Blanas;Yang Wang

文献摘要

相似文献

数据库应用程序经常使用较弱的隔离级别,如Read Committed,以获得更好的性能,这可能会导致在Serializable下不会发生的错误。虽然许多工作已经提出了方法来识别这种隔离相关的错误,分析报告的错误的难度往往被低估,因为这些错误往往涉及多个复杂的事务交错在一个特定的顺序,他们往往需要用户的反馈,以提高错误分析的准确性。本文介绍了IsoBugView,一个可视化的隔离错误,并纳入用户的反馈:为了解决的挑战,一个复杂的错误可能包括很多信息,因此很难呈现,IsoBugView显示一个高层次的概述错误,并显示进一步的信息,个别件,如果开发人员需要进一步的调查。为了结合用户的反馈,IsoBugView将钩子函数嵌入到后端分析工具中,以预处理依赖图和后处理找到的循环,并进一步允许用户在其图形用户界面中应用预定义的钩子函数。我们的经验表明,IsoBugView极大地提高了我们分析隔离bug的效率。
Database applications frequently use weaker isolation levels, such as Read Committed, for better performance, which may lead to bugs that do not happen under Serializable. Although a number of works have proposed methods to identify such isolation-related bugs, the difficulty of analyzing reported bugs is often underestimated, since these bugs often involve multiple complicated transactions interleaved in a specific order and they often require users' feedback to improve the accuracy of bug analysis. This paper presents IsoBugView, a tool to visualize isolation bugs and incorporate users' feedback: to address the challenge that a complicated bug may include much information and thus is hard to present, IsoBugView displays a high-level overview of the bug first and displays further information of individual pieces if the developer needs further investigation. To incorporate users' feedback, IsoBugView embeds hook functions into the backend analysis tool to preprocess a dependency graph and postprocess a found cycle and further allows a user to apply predefined hook functions in its graphic user interface. Our experience shows that IsoBugView has greatly improved our productivity of analyzing isolation bugs.