[发明专利]SQL程序自动评分方法及装置无效
申请号: | 201010593759.7 | 申请日: | 2010-12-17 |
公开(公告)号: | CN102023921A | 公开(公告)日: | 2011-04-20 |
发明(设计)人: | 杨鹤标 | 申请(专利权)人: | 江苏大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 212013 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 程序 自动 评分 方法 装置 | ||
1.一种对SQL程序进行自动评估的方法,其特征是,所述方法包括以下步骤:
通过分别对SQL源程序和模板程序进行规范化处理,消除SQL语义上的表达多样性,得到两个规范化的SQL程序;
通过分别对两个规范化程序进行词法分析和语法分析,抽取出表征程序结构的两棵抽象语法树;
根据树编辑距离算法对所述两棵抽象语法树进行计算,确定源程序与模板程序直接的相似度值;以及
利用相似度值与成绩之间的函数关系,计算源程序评分。
2.如权利要求1所述的方法,其特征在于,所述规范化处理包括,对所述SQL程序中“*“号进行扩展。
3.如权利要求1所述的方法,其特征在于,所述规范化处理包括,对所述SQL程序中出现的字段名进行补全。
4.如权利要求1所述的方法,其特征在于,所述规范化处理包括,对所述SQL程序中逻辑操作进行排序。
5.如权利要求1所述的方法,其特征在于,在抽取到所述规范化程序的语法树结构之后,使用改进的树编辑距离算法确定所述两棵抽象语法树之间的相似度值。
6.如权利要求5所述的方法,其特征在于,所述树编辑距离算法的改进包括,在所述树编辑距离算法中通过增加节点权重来修改代价模型。
7.如权利要求5所述的方法,其特征在于,所述树编辑距离算法的改进包括,引入相似因子调整部分相似对所述树编辑距离算法的贡献。
8.如权利要求7所述的方法,其特征在于,所述相似因子作用于所述树编辑距离算法计算结果如:Dist’(T1,T2)= Dist(T1,T2)*cn
其中,Dist(T1,T2)、Dist’(T1,T2)分别表示相似因子作用之前和之后的编辑距离结果,c是相似因子,n是代价为0的有序节点对。
9.如权利要求1所述的方法,其特征在与,所述函数关系是通过训练数据对相似度值与成绩作回归分析得出。
10.一种自动评估SQL程序正确性的装置,包括:
规范化处理单元,用于分别对所述SQL源程序和模板程序进行规范化处理,生成两个语义上表达统一的规范化程序;
结构抽取单元,用于所述规范化程序进行词法分析和语法分析,生成表征程序结构特征的抽象语法树;
相似度计算单元,根据树编辑距离算法对所述两棵语法树进行计算,得到相似度值;
利用所述相似度值与成绩之间的函数关系,计算最终的程序评分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏大学,未经江苏大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010593759.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:语句级中英文混合输入方法
- 下一篇:用于可重配置的电路的装置、方法和系统