正反例归纳法自动生成SQL查询程序

下载需积分: 0 | PDF格式 | 5.83MB | 更新于2024-06-18 | 165 浏览量 | 0 下载量 举报
收藏
"正反例归纳合成SQL查询程序 (1).pdf" 这篇研究论文"正反例归纳合成SQL查询程序"由张健、李弋、彭鑫和赵文耘共同撰写,来自复旦大学软件学院和上海市数据科学重点实验室。文章提出了一种名为ISST(正反例归纳合成)的方法,旨在帮助不熟悉SQL编程的用户,如数据分析人员和初级程序员,自动生成所需的SQL查询。ISST方法基于输入输出样例表,通过正反例的归纳和处理,来生成满足用户需求的SQL查询程序。 ISST方法包含了五个主要阶段: 1. 构建SQL查询程序草图:首先,根据用户提供的少量元组输入输出示例,初步构建SQL查询的基本框架。 2. 扩展工作表数据:通过对工作表数据的扩展,增加更多的测试用例,以覆盖可能的查询情况。 3. 划分正反例集合:将样本分为正例(预期正确结果的输入输出对)和反例(不符合预期的输入输出对),这有助于精确地识别查询的边界条件和异常情况。 4. 归纳谓词:通过分析正反例,归纳出合适的查询谓词,这些谓词是SQL查询中用于过滤数据的关键部分。 5. 验证排序与奥卡姆剃刀原则:合成出多个可能的SQL查询程序后,利用在线数据库PostgreSQL进行验证。遵循奥卡姆剃刀原则,即最简洁的解决方案往往是最优的,对这些候选程序进行评分和排序。 该方法的实现采用了Java语言,并在一个包含28个样例的测试集上进行了验证。结果显示,ISST方法成功地合成了24个测试样例,平均耗时仅为2秒,显示出较高的效率和准确性。 论文的关键词包括SQL、程序合成、基于样例的编程(PBE)、归纳法以及正例和反例。根据中图法分类号,这篇文章属于计算机科学技术领域中的“TP311”,即计算机软件及计算机应用。 引用格式如下: 中文引用:张健, 李弋, 彭鑫, 赵文耘. 正反例归纳合成SQL查询程序. 软件学报, 2023, 34(9): 4132–4152. http://www.jos.org.cn/1000-9825/6646.htm 英文引用:Zhang J, Li Y, Peng X, Zhao WY. Inductive SQL Synthesis with Positive and Negative Tuples. Ruan Jian Xue Bao / Journal of Software, 2023, 34(9): 4132–4152 (in Chinese). http://www.jos.org.cn/1000-9825/6646.htm 此研究对于简化SQL查询的学习曲线,提高非专业用户的数据库查询效率具有重要意义,也为自动程序生成技术在SQL领域的应用提供了新的思路。

相关推荐