摘要

针对SQUARES程序空间增长过快,导致程序合成效率偏低的问题,在SQUARES的基础上,增加了以深度神经网络为核心的程序空间约简器,将给定的<被查询表,查询结果>示例表示成二维张量,作为深度神经网络的输入,网络的输出是关于目标SQL语句合成规则的相关性标记向量。约简器根据神经网络的输出结果,采用末N位淘汰策略,删除与目标SQL语句相关性弱的合成规则,以减少候选SQL语句的生成和验证,提升系统合成效率。对约简器中深度神经网络的结构设计、训练样本集的生成方法和网络训练过程进行了详细描述。同时将PSR-SQUARES与当前有代表性SQL逆向合成系统进行实验对比,实验结果表明,PSR-SQUARES的综合性能不同程度地优于其他合成系统,平均合成时间由SQUARES的251 s降低至130 s,目标程序合成成功率由80%提升至89%。