An Empirical Study on the Characteristics of Database Access Bugs in Java Applications

2024年05月23日
  • 简介
    数据库支持的应用程序依赖于数据库访问代码与底层数据库管理系统(DBMS)进行交互。虽然许多以前的研究旨在处理数据库访问问题,如SQL反模式或SQL代码异味,但缺乏对维护数据库支持的应用程序期间数据库访问错误的研究。本文通过手动检查缺陷报告和提交历史,对从使用关系数据库管理系统(如MySQL或PostgreSQL)的七个大型Java开源应用程序收集的423个数据库访问错误进行了实证研究。我们研究了缺陷的特征(例如出现和根本原因)。我们发现报告的数据库和非数据库访问错误的数量具有相似的趋势,但它们在错误修复提交中修改的文件不同。此外,我们归纳了数据库访问错误的根本原因类别,包括五个主要类别(SQL查询、模式、API、配置、SQL查询结果)和25个独特的根本原因。我们发现,在所有研究的应用程序中,与SQL查询、模式和API有关的错误占数据库访问错误的84.2%。特别是,使用JDBC时SQL查询错误(54%)和使用Hibernate时API错误(38.7%)是最常见的问题。最后,我们就研究结果对开发人员和研究人员的影响进行了讨论。
  • 图表
  • 解决问题
    本论文旨在研究数据库访问错误在维护数据库支持的应用程序中的发生率和根本原因,并提供对开发人员和研究人员的启示。
  • 关键思路
    通过手动检查错误报告和提交历史记录,研究了423个数据库访问错误,并将其归类为SQL查询、模式、API、配置和SQL查询结果等五个主要类别。研究发现,SQL查询错误和API错误是使用JDBC和Hibernate时最常见的问题。
  • 其它亮点
    论文使用了七个大型Java开源应用程序的数据集,并提供了关于数据库访问错误的五个主要类别和25个独特根本原因的总结。此外,研究还探讨了开发人员和研究人员的启示。
  • 相关研究
    最近的相关研究主要集中在SQL反模式和SQL代码气味等数据库访问问题上。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论