摘要
arXiv:2504.10898v1 类型: cross
摘要: 查询逆向工程(QRE)旨在综合生成一个SQL查询,以连接给定的数据库和结果实例。QRE的一个近期变种是提供一个附加输入,即包含真实查询的不透明可执行文件,目标是仅通过输入输出示例非侵入性地提取该特定查询。这种变种称为隐藏查询提取(HQE),其工业用途包括查询恢复、数据库安全和供应商迁移。用于HQE的基于数据库变异和生成技术的逆向工程(RE)工具只能提取基于键的等值连接和平面查询以及结合算术过滤谓词,这在查询结构和查询操作符方面使其受限。在本文中,我们提出了Xpose,这是一种HQE解决方案,将提取范围扩展到现实中的复杂查询,例如TPCH基准测试中找到的查询。采用两管齐下的方法:(1)现有RE范围大幅扩展,以包含联合连接、代数过滤谓词以及值和谓词的析取;(2)利用大语言模型的预测能力,将不透明应用程序的业务描述转换为提取指导,即所谓的正向工程(FE)。FE模块识别常见的结构,如子查询的嵌套、外连接和标量函数。本质上,FE确定了广泛的查询轮廓,而RE则填充了细微的细节。我们已经将Xpose在(a)E-TPCH上进行了评估,这是一个查询套件,包含了TPCH基准测试的完整版本,并扩展了包含联合、多种连接类型和子查询的查询;以及(b)实际的STACK基准测试。实验结果表明,其双向工程方法准确地提取了这些复杂查询,相对于HQE的涵盖范围,这代表着一个重要的进步。