CN103226488B - 一种形式化代码生成中的效率控制方法及装置 - Google Patents
一种形式化代码生成中的效率控制方法及装置 Download PDFInfo
- Publication number
- CN103226488B CN103226488B CN201310162876.1A CN201310162876A CN103226488B CN 103226488 B CN103226488 B CN 103226488B CN 201310162876 A CN201310162876 A CN 201310162876A CN 103226488 B CN103226488 B CN 103226488B
- Authority
- CN
- China
- Prior art keywords
- code
- rule
- formalization
- input
- pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000001914 filtration Methods 0.000 claims abstract description 75
- 238000004886 process control Methods 0.000 claims abstract description 49
- 238000012795 verification Methods 0.000 claims abstract description 35
- 238000004458 analytical method Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 9
- 235000013399 edible fruits Nutrition 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 13
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000005538 encapsulation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种形式化代码生成中的效率控制方法及装置,该方法包括:接收效率控制规则,效率控制规则包括输入过滤规则、输入过程控制规则以及输出预判规则;接收用户输入的形式化代码;对该代码进行解析,生成解析结果;判断代码是否符合输入过滤规则或输入过程控制规则;根据解析结果判断代码是否通过语法校验;如果代码符合输入过滤规则或输入过程控制规则,且通过语法校验,则保存代码;如果代码不符合输入过滤规则或输入过程控制规则,或没有通过语法校验,则提示错误;在保存后,当接收执行指令时,计算执行结果集,并判断执行结果集是否符合输出预判规则;如果符合输出预判规则,则继续执行;如果不符合输出预判规则,则提示错误。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种形式化代码生成中的效率控制方法及装置。
背景技术
在信息化高速发展的今天,形式化代码在数学、计算机科学、人工智能等领域得到广泛运用。形式化代码是通过一定样式规则组合起的代码,可以实现各种语义逻辑,并可以实现相关运算。各类编程语言、各类数据库语言、可扩展标记语言以及特定领域的专用代码均是形式化代码。现有技术中,存在着各类型的软件开发产品、数据库编程产品以及为解决某特定行业问题所专门开发的商业软件系统,如微软的Visual Studio系列集成开发环境、数据库规范语言类的形式代码生成工具Microsoft Office Access等。
但是,目前各种类型的形式化代码生成主要依赖工具的能力,存在以下技术问题:
首先,目前各种编程语言、数据库语言开发工具,仅仅提供了代码编写及基本的语法校验功能,只能保证用户产生的形式化代码可以在特定环境中执行,而对其运算效率、运行结果、执行合理性并不进行任何控制,现代大中型企业动辄上亿的数据记录,如果仅靠代码生产人员进行控制,容易出现各种生产危险,降低系统安全性;
其次,如果需要进行代码的重用,如简单替换一定的结构的数值,一般是通过对代码进行复制,然后修改相关参数实现,较为容易出现疏漏,部分语言支持循环模式,但往往只能实现简单的参数替换,功能不够完善;
最后,代码生产人员需要较高的专业素质且代码产生方式比较单一,各种典型的形式化代码,如C、JAVA、C++等编程语言,SQL数据库语言,面向特定领域的自定义语言等,对于用户的要求较高,用户需要进行一段时间的专业培训,才能使用工具进行各种代码的开发工作,对于工具有较高的依赖性。
发明内容
有鉴于此,本发明的主要目的是提供一种形式化代码生成中的效率控制方法及装置,以解决现有技术中形式化代码生成过程中缺少效率控制机制,可能导致系统安全性降低的问题。
为解决上述问题,本发明提供的技术方案如下:
一种形式化代码生成中的效率控制方法,所述方法包括:
接收效率控制规则,所述效率控制规则包括输入过滤规则、输入过程控制规则以及输出预判规则;
接收用户输入的形式化代码;
对所述用户输入的形式化代码进行解析,生成解析结果;
判断所述形式化代码是否符合所述输入过滤规则或所述输入过程控制规则;
根据所述解析结果判断所述形式化代码是否通过语法校验;
如果所述形式化代码符合所述输入过滤规则或所述输入过程控制规则,并且所述形式化代码通过语法校验,则保存所述形式化代码;
如果所述形式化代码不符合所述输入过滤规则或所述输入过程控制规则,或者所述形式化代码没有通过语法校验,则提示错误;
在保存所述形式化代码后,当接收到执行指令时,计算所述形式化代码的执行结果集,并判断所述执行结果集是否符合所述输出预判规则;
如果所述执行结果集符合所述输出预判规则,则继续执行所述形式化代码;如果所述执行结果集不符合所述输出预判规则,则提示错误。
相应的,所述接收用户输入的形式化代码,包括:
接收形式化代码中需要使用的输入变量;
通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
相应的,所述输入过滤规则包括输入数据过滤规则以及特殊句型及其输入数据过滤规则;所述输入过程控制规则包括关联规则以及特殊句型结构规则;所述解析结果中还包括每项所述形式化代码的句型;
所述判断所述形式化代码是否符合所述输入过滤规则或所述输入过程控制规则包括:
判断接收的形式化代码中需要使用的输入变量是否符合输入数据过滤规则;
逐项判断形式化代码的句型是否为输入过滤规则中的特殊句型,如果是,则判断该项形式化代码的输入变量是否符合所述特殊句型及其输入数据过滤规则;
判断所述形式化代码是否符合关联规则;
逐项判断形式化代码的句型是否为输入过程控制规则中的特殊句型,如果是,则判断该项形式化代码是否符合所述特殊句型结构规则。
相应的,所述解析结果中还包括每项所述形式化代码的句型;所述方法还包括:接收预先设定的分步式输入代码规则;
所述接收用户输入的形式化代码,包括:
接收形式化代码中需要使用的输入变量;
根据所述分步式输入代码规则以及每项所述形式化代码的句型分步通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
相应的,在保存所述形式化代码之后,接收到执行指令之前,所述方法还包括:
定义矢量变量及所述矢量变量的属性;
判断所述形式化代码中是否包括所述矢量变量;
根据所述矢量变量的属性,将包括所述矢量变量的一项形式化代码替换为一组形式化代码并保存。
一种形式化代码生成中的效率控制装置,所述装置包括:
第一接收模块,用于接收效率控制规则,所述效率控制规则包括输入过滤规则、输入过程控制规则以及输出预判规则;
第二接收模块,用于接收用户输入的形式化代码;
解析模块,用于对所述用户输入的形式化代码进行解析,生成解析结果;
第一判断模块,用于判断所述形式化代码是否符合所述输入过滤规则或所述输入过程控制规则;
校验模块,用于根据所述解析结果判断所述形式化代码是否通过语法校验;
代码生成模块,用于如果所述形式化代码符合所述输入过滤规则或所述输入过程控制规则,并且所述形式化代码通过语法校验,则保存所述形式化代码;
第二判断模块,用于在保存所述形式化代码后,当接收到执行指令时,计算所述形式化代码的执行结果集,并判断所述执行结果集是否符合所述输出预判规则;
执行模块,用于如果所述执行结果集符合所述输出预判规则,则继续执行所述形式化代码;
提示错误模块,用于如果所述形式化代码不符合所述输入过滤规则或所述输入过程控制规则,或者所述形式化代码没有通过语法校验,则提示错误;如果所述执行结果集不符合所述输出预判规则,则提示错误。
相应的,所述第二接收模块包括:
变量接收子模块,用于接收形式化代码中需要使用的输入变量;
代码接收子模块,用于通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
相应的,所述输入过滤规则包括输入数据过滤规则以及特殊句型及其输入数据过滤规则;所述输入过程控制规则包括关联规则以及特殊句型结构规则;所述解析结果中还包括每项所述形式化代码的句型;所述第一判断模块包括:
第一判断子模块,用于判断接收的形式化代码中需要使用的输入变量是否符合输入数据过滤规则;
第二判断子模块,用于逐项判断形式化代码的句型是否为输入过滤规则中的特殊句型,如果是,则判断该项形式化代码的输入变量是否符合所述特殊句型及其输入数据过滤规则;
第三判断子模块,用于判断所述形式化代码是否符合关联规则;
第四判断子模块,用于逐项判断形式化代码的句型是否为输入过程控制规则中的特殊句型,如果是,则判断该项形式化代码是否符合所述特殊句型结构规则。
相应的,所述解析结果中还包括每项所述形式化代码的句型;所述装置还包括:
第三接收模块,用于接收预先设定的分步式输入代码规则;
所述第二接收模块包括:
变量接收子模块,用于接收形式化代码中需要使用的输入变量;
代码接收子模块,用于根据所述分步式输入代码规则以及每项所述形式化代码的句型分步通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
相应的,所述装置还包括:
矢量定义模块,用于定义矢量变量及所述矢量变量的属性;
第三判断模块,用于判断所述形式化代码中是否包括所述矢量变量;
矢量应用模块,用于根据所述矢量变量的属性,将包括所述矢量变量的一项形式化代码替换为一组形式化代码并保存。
由此可见,本发明具有如下有益效果:
首先,本发明通过建立输入过滤规则、输入过程控制规则等效率控制规则,对用户输入的形式化代码进行效率控制,通过输出预判规则对生成代码的执行结果进行预判,避免不能容忍的执行操作发送,实现了从形式化代码生成周期的各个阶段,控制代码的效率,保证系统运行环境稳定,提高安全性,并且可以根据用户需要,接收相关效率控制规则,补充至效率控制规则库中,增加了灵活性;其次,通过矢量变量定制,使得代码可以批量生成,减少由于用户手工生成结构一致的句法时由于重复劳动造成疏漏的可能性,提升生产效率;最后,本发明可以判断用户的所需产生代码句型,以分步式的框架,通过列表选择、枚举、给定定义域输入、对象重命名等模式,逐步接收用户输入的形式化代码,快速高效的生成形式化代码集合,降低了对用户专业技术水平的要求,并减少了由于技术能力欠缺带来的生产安全相关的隐患。
附图说明
图1为本发明形式化代码生成中的效率控制方法的流程图;
图2为本发明形式化代码生成中的效率控制方法使用矢量变量流程图;
图3为本发明形式化代码生成中的效率控制方法逻辑组件示意图;
图4为本发明形式化代码生成中的效率控制方法的一种具体实施例示意图;
图5为本发明形式化代码生成中的效率控制装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
本发明形式化代码生成中的效率控制方法及装置,是针对现有技术中存在的形式化代码生成过程中缺少效率控制机制的问题,提出不仅对用户输入的形式化代码进行语法校验,而且接收效率控制规则建立效率控制规则数据库,利用输入过滤规则、输入过程控制规则以及输出预判规则对用户输入的形式化代码及其执行结果进行效率控制,以在同等计算能力下,控制代码的执行响应时间,达到效率控制目的,保证系统运行环境稳定。
基于上述思想,参见图1所示,本发明形式化代码生成中的效率控制方法包括以下步骤:
步骤101:接收效率控制规则,效率控制规则包括输入过滤规则、输入过程控制规则以及输出预判规则。
接收效率控制规则可以建立效率控制规则库,效率控制规则可以理解为一组控制代码执行的响应时间的规则,针对不同形式化代码效率控制规则可能不同。效率控制规则可以包括输入过滤规则、输入过程控制规则以及输出预判规则,其可以应用于例如SQL语言(Structured Query Language,结构化查询语言)。
其中,输入过滤规则可以包括输入数据过滤规则以及特殊句型及其输入数据过滤规则;输入过程控制规则可以包括关联规则以及特殊句型结构规则。
步骤102:接收用户输入的形式化代码。
具体的,可以接收形式化代码中需要使用的输入变量;通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
直接录入模式在指定的文本域用键盘的方式,输入需要的代码内容,可以直接输入各种函数或者代码支持的表达方式。
选择模式如SQL代码编写中,以列表的方式,列出可以进行分析的数据表或者数据表包含的字段,这些数据表在实际应用中也可以作为选择的输入变量加入到代码中。又如定义的矢量变量,可以直接选择进行输入。
枚举模式将代码支持的函数或者特殊表达式如求和(SUM)数据类型转化(CONVERT)作为一个枚举的全集,用户在使用的过程中,根据实际需要,从中选取合适的类型加入代码,但不可以超出枚举的范围。
给定定义域输入如给定函数f(X),要求X的值范围为0到正无穷,且X必须为整数,则用户只能输入区间内的一个数值,作为形式化代码的组成部分。
对象重命名模式就是给代码中的片段进行重命名,方便用户理解。如SQL语句中的Select A.al as a from A,即表示将A表的a1字段重命名为a方便处理,只有特定的句型才可以支持这种表达方式。
步骤103:对用户输入的形式化代码进行解析,生成解析结果。
可以利用LL(k)方法进行代码的解析,该方法是一种自顶向下的编译方法,可以根据对关键字、变量、句型等要素的解析,解析结果中则可以包括每项形式化代码的句型,利用该方法将输入的形式化代码进行语法分析,生成解析结果可以判断代码是否语法规范。以常规查询语句为例,形如select A.a1,A.a2from A表示从A表中查询其中a1,a2字段的内容。其对应的句型需要包含select和from两个需要严格匹配的字符串,如果不包含这两个字符串或者顺序不一致,则不符合语法要求。
步骤104:判断形式化代码是否符合输入过滤规则或输入过程控制规则。
具体的,可以判断接收的形式化代码中需要使用的输入变量是否符合输入数据过滤规则;
逐项判断形式化代码的句型是否为输入过滤规则中的特殊句型,如果是,则判断该项形式化代码的输入变量是否符合特殊句型及其输入数据过滤规则;
判断形式化代码是否符合关联规则;
逐项判断形式化代码的句型是否为输入过程控制规则中的特殊句型,如果是,则判断该项形式化代码是否符合特殊句型结构规则。
步骤105:根据解析结果判断形式化代码是否通过语法校验。
步骤106:如果形式化代码符合输入过滤规则或输入过程控制规则,并且形式化代码通过语法校验,则保存形式化代码。
步骤107:如果形式化代码不符合输入过滤规则或输入过程控制规则,或者形式化代码没有通过语法校验,则提示错误。
步骤108:在保存形式化代码后,当接收到执行指令时,计算形式化代码的执行结果集,并判断执行结果集是否符合输出预判规则。
步骤109:如果执行结果集符合输出预判规则,则继续执行形式化代码;如果执行结果集不符合输出预判规则,则提示错误。
进一步的,在提示错误时,根据解析结果还可以同时提示错误出现的位置,以方便用户进行修改。
在上述实施例中,输入数据过滤规则可以对形式化代码中需要使用的输入变量进行过滤,使形式化代码仅处理必要的数据,从而降低运算压力。如仅处理中国山东省的某数据,则对输入变量中包括的全国数据进行过滤,仅得到包含山东省的子数据,即代码在执行阶段控制了分析数据的规模。在具体实现中,可以通过机构代码、数据时间范围字段等方式实现对输入数据过滤。
特殊句型及其输入数据过滤规则可以针对某特殊句型,对该特殊句型的输入数据进行限制,特殊句型及其输入数据过滤规则可以理解为句型及其输入数据记录的对应规则。例如,某个代码运算功能是对代码处理的数据的上下两条记录做关联运算,结果通过增加字段的方式保存,这种处理功能比较复杂,经过实践验证,原始数据在20000以内可以获得较好的运算响应时间,则可以接收特殊句型及其输入数据过滤控制规则:“关联运算功能-20000”,在处理关联运算类句型时,(句型的界定可以通过后续的形式化代码进行解析获得),则需要对原始输入数据20000条以内这个输入过滤条件的控制。
输入过程控制规则可以对输入的形式化代码本身进行控制,关联规则例如SQL语句处理两个表关联时,需要加入关联条件。特殊句型结构规则例如SQL语句使用数据库支持的数据类型转换函数时,需要指定转换后字段的长度。具体的,如SQL代码的convert函数,其语法上支持CONV ERT(data_type,expression[,style]),如convert(char,A字段),这种语法上来说是正确的,但是应用在海量分析型系统时,会导致字段过长,不仅会使运算时间过长,同时产生的运算结果过大,严重消耗系统资源,针对这种情况,利用输入过程控制规则,使得形如convert(char,XXX),这类型的转换,char后均需要加入长度,如convert(char(100),A字段),这种模式才可以通过规则验证,否则,效率控制规则会认为该代码不合法,需要继续修改。
输出预判规则是在执行时,判断语句句型及其使用的处理逻辑,由于有些处理复杂度高,如果结果集过大,会导致运算效率极低,故而在实际执行代码前,系统会通过count的方式预判代码执行的结果集大小,超出设定结果集大小的则不予以正式执行。如“关联运算功能——10000”规则,表示如果语句使用的是关联运算功能,则其结果集不能超过10000条。不同的语句或处理方式,结果集大小限制不同。效率控制规则可以通过实验及相关经验进行增补和完善。
当形式化代码符合语法规则以及各种效率控制规则时,则可以顺利保存并执行,否则,提示错误,需要对代码进行修改,可以重新进入接收用户输入的形式化代码步骤。
本发明通过建立输入过滤规则、输入过程控制规则等效率控制规则,对用户输入的形式化代码进行效率控制,通过输出预判规则对生成代码的执行结果进行预判,避免不能容忍的执行操作发送,实现了从形式化代码生成周期的各个阶段,控制代码的效率,保证系统运行环境稳定,提高安全性,并且可以根据用户需要,接收相关效率控制规则,补充至效率控制规则库中,增加了灵活性。
基于上述实施例,本发明形式化代码生成中的效率控制方法还可以接收预先设定的分步式输入代码规则;
则接收用户输入的形式化代码,可以包括:接收形式化代码中需要使用的输入变量;根据分步式输入代码规则以及每项形式化代码的句型分步通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
将分步式输入代码规则可以将形式化代码中的句型进行分类,对于不同的句型,可以按照不同的步骤进行输入,直观的帮助用户以简洁的方式,按照必要的步骤逐步完成满足特定句型的形式化代码输入。具体可以通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式等分步骤按照句型特点组成形式化代码。根据分步式输入形式化代码时,还可以在每一子步骤输入完成后,对该步骤输入的形式化代码进行语法校验,帮助用户及早发现问题。
通过分步式的方法,判断用户的所需产生代码句型,通过列表选择、枚举、给定定义域输入、对象重命名等模式,逐步接收用户输入的形式化代码,可以快速高效的生成形式化代码集合,降低了对用户专业技术水平的要求,进一步减少了由于技术能力欠缺带来的生产安全相关的隐患。
在保存形式化代码之后,接收到执行指令之前,本发明形式化代码生成中的效率控制方法还可以包括:
定义矢量变量及矢量变量的属性;判断形式化代码中是否包括矢量变量;
根据矢量变量的属性,将包括矢量变量的一项形式化代码替换为一组形式化代码并保存。
通过矢量变量定制,使得代码可以批量生成,减少由于用户手工生成结构一致的句法时由于重复劳动造成疏漏的可能性,提升生产效率。
参见图2所示,在应用矢量变量时,首先定义一个矢量变量,之后定义其相关属性,如起始值、步长、变量类型等,矢量变量创建完成。在形式化代码保存后,通过解析代码判断形式化代码中是否包括矢量变量,即将代码中的特定片段替换成为矢量变量,矢量变量在代码运行前解析可以将一条代码按照定义变为一组代码,并可以指定这组结构相似的语句执行的结果是否合并。在执行完成后,可以调整矢量变量的值,再次执行后,会获得新的参数值下的结果集,减轻代码编写者重复劳动,降低出错率。
矢量变量具体如下:
矢量变量举例说明如下:
定义一个矢量变量M,起始值为A,终止值为E,步长为1,变量类型为字符型。先有一段代码应用了此矢量变量,代码形如“查询数据表A条件数据表A.符号字段=M”,在运算过程中,会对句型中是否是用了矢量变量进行解析,如果有则按照矢量变量的定义,将原代码转化为一组代码,即如下几条代码语句:
“查询数据表A条件数据表A.符号字段=A
查询数据表A条件数据表A.符号字段=B
查询数据表A条件数据表A.符号字段=C
查询数据表A条件数据表A.符号字段=D
查询数据表A条件数据表A.符号字段=E”。
如果不希望得到这种结果,可以仅仅调整矢量变量的定义,如将起始值调为B,终止值调为F,步长调为2,则该代码会在运算时转化为以下一组代码:
“查询数据表A条件数据表A.符号字段=B
查询数据表A条件数据表A.符号字段=D
查询数据表A条件数据表A.符号字段=F”。
在形式化代码生成后,可以对代码进行封装、共享。可以通过授权的方式将代码的安全分级别进行划分,划分的依据是代码编写者对代码权限的开放力度。通过这种方式一方面可以将代码分不同程度的开放给使用者,从而保证了代码编写者对代码的所有权,同时对保证代码的安全性和代码运算性能方面也有一定的提高。另一方面对于代码的使用者来说只需要关心特定的语段,从而降低了代码使用的难度,便于代码的推广和应用。将用户编写的封装后的代码集合提交后,再从代码集的正确性、内部逻辑合理性、安全性方面进行检查,并将合格的代码集添加到代码共享库中并为其设置相应的应用场景及使用的条件和参数。通过代码集共享,极大提高代码的效用。
基于上述实施例,参见图3所示,从逻辑组件的角度,再对本发明形式化代码生成中的效率控制方法进行简单介绍。本方法可以由语法解析逻辑、代码生成逻辑、效率控制逻辑组成。
语法解析逻辑可以分为以下组件:
(1)文法解析组件
文法解析组件可以通过LL(k)方式对代码进行解析,解析用户输入的代码是否符合代码语法规范。对于不同的代码领域,如JAVA语言、C语言、SQL语言等需要不同的代码语法规则配置。一个定义完全的文法解析组件可以实现一个特定代码集的文法校验。
(2)文法中变量录入组件
通过文法中变量录入组件可以录入代码中的各种变量,在某些代码中,变量就是简单的字符串,有的则是由层次化的结构体作为变量。
代码生成逻辑可以分为以下组件:
(1)句型分步组件
通过句型分步组件可以将代码中的句型进行分类,对于不同的句型,可以提供不同的步骤进行输入,直观的帮助用户,以最简洁的方式,按照必要的步骤逐步完成满足特定句型的形式化代码生成。
(2)句型选择组件
通过句型选择组件可以帮助用户快速选择希望录入的句型,句型选定后,可以按照特定句型的步骤提示性的帮助用户快速完成代码生成。
(3)分步式代码生成的组件
分步式的代码生成组件是用户可以通过前台可视化的界面进行操作,根据变量录入组件录入的变量以及关键字、句型等,生成形式化代码的核心组件。具体是通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名等模式分步骤的按照句型的特点组成形式化代码。
(4)语法校验组件
语法校验组件,实现了对用户输入的形式化代码的合法性校验,若以分步的方式接收输入的代码,在每一个步骤完成后都可以进行对输入内容的语法校验,进一步可以在每一步后提示用户输入是否有错误,如何进行修正;完成最后一步后会对整个语句进行完整的语法校验,保证整个句法的完整。
(5)矢量参数化组件
矢量参数化组件是在编写形式化代码的时候设定句型中的某些变量为全局变量或矢量变量,并按照参数命名规则进行参数化。通过在形式化脚本中引入参数,使得编写的句子得以复用,通过改变矢量参数值实现同一形式化代码在多次执行后获得不同条件查询结果,提高代码的使用效用,从而极大的提高了代码分析效率。
(6)代码封装组件
代码封装组件是将代码作者编写的代码通过授权的方式将代码的安全分级别进行划分,划分的依据是代码编写者对代码权限的开放力度。通过这种方式一方面可以将代码分不同程度的开放给使用者,从而保证了代码编写者对代码的所有权,同时对保证代码的安全性和代码运算性能方面也有一定的提高。另一方面对于代码的使用者来说只需要关心特定的语段,从而降低了代码使用的难度,便于代码的推广和应用。
(7)代码共享组件
代码共享组件是将用户编写的封装后的代码集合提交给审核员,审核员从代码集的正确性、内部逻辑合理性、安全性方面进行检查,并将合格的代码集添加到代码共享库中并为其设置相应的应用场景及使用的条件和参数。通过代码集共享组件,极大提高代码的效用。
效率控制逻辑可以分为以下组件:
(1)输入过滤组件
部分形式化代码,如SQL语言或者某些文件处理代码,需要处理特定的对象如数据表或文件,通过配置输入过滤组件参数,控制输入数据的规模,使形式化代码只处理必要的内容,保证了处理内容的安全,从一定程度提升了运算的效率。
(2)输入过程控制组件
根据形式化代码的特点,以规则库的模式进行配置,接收相关的输入过程控制规则,在代码的输入过程中对代码进行约束,以控制一些虽然符合代码的语法语义规范但确会对运算分析带来重大效率影响的不良代码产生。输入过程控制组件可以分为几种如匹配关联类规则,限制类规则等。
(3)输出预判组件
部分形式化代码是进行运算分析的,由于语法较为灵活,用户可以自定义相关的运算关系,很多时候由于用户水平问题,可能会出现运算结果集过大的情况,通过加入输出预判规则,限制用户的输出规模,可以保障运算环境的整体性能。
参见图4所示,本发明提供一种应用了形式化代码生成中的效率控制方法的具体实施例。该系统以数据库规范语言SQL形式化代码为基础,可以实现形式化代码编写、代码校验与封装、代码成果共享的全过程,可以极大提升了人员的工作效率。
数据输入单元,其中业务数据作为SQL代码中变量录入组件中的变量,以树形的方式保存各个业务账表,账表树可以分为6个层级,账表类型、账表来源系统、账表来源子系统、账表所属年份、账表保存方式、账表实例。用户通过这种结构化的变量(包含账表信息及其字段信息)进行形式化代码生成,输入业务账表作为形式化代码中需要使用的输入变量,即进行变量表录入。
数据过滤单元,实现效率控制逻辑中的输入过滤。可以实现两个层级的数据过滤。首先是进行人员过滤,对于普通类数据,只要数据被加入到项目中,项目中的人员均可以查看;对于保密类数据,需要逐个分配项目中的人员与保密数据的对应关系,以保证数据安全。其次,对于项目中的数据,需要按照时间维度和机构维度等多维度进行输入过滤,这样可以将原数据的范围进行缩小,不但可以控制数据安全,更可以减少代码运算数据量,提升运算速度,保证系统安全。
分布式代码编写单元,实现文法解析、句型分步、句型选择、分步式代码生成等组件内容。辅助用户以类自然语言的方式编写形式化代码组成的语句集,后面的语句可以利用之前的语句产生的结果集。用户通过在可视互动界面通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名等模式录入形式化代码以完成语句,系统通过SQL文法解析组件完成代码识别及校验,最终以XML的格式固化在数据库中。
代码校验单元,在SQL文法解析组件的支持下支持用户将方法编写单元中编写的审计代码语句进行校验,符合语法规则的句子可以实现类自然语言到形式化代码的转化。同时辅以输入过程控制组件控制代码效率,如匹配关联规则中多表关联笛卡尔积校验、限制类规则中特殊函数使用限定校验等,保证了用户编写的代码的完整,并避免出现明显的执行低效语句,如果出现语法错误,在编写的每个步骤都会有相应提示,保证用户直观的进行错误分析及修改。
代码参数化单元,本单元实现了形式化代码矢量参数化组件。在编写好了审计方法的代码语句后,可以通过全局变量或者矢量变量进行参数化,实现自动替换功能,用户只需修改变量的值,即可按照新的参数获得代码执行结果。全局变量可以在每次执行前进行设定,执行同一方法获得不同结果;矢量变量应用在循环语句中,通过设置表变量或条件变量,可以实现一个代码语句变成多个结构一致、关键变量进行循环替换的一组代码语句,可以帮助用户分析如12个月、4个季度或某变量自增得到的一组数据情况。用户可以便捷的更改矢量值,达到批量替换访问数据的功能,同时降低差错率。
代码封装单元,可以保护代码编写人的权益,同时也可以避免水平较低的用户修改形式化代码中的关键环节导致方法执行过程中出现逻辑错误、低效查询等等,代码的原作者对代码中的一些特定位置进行封装,系统实现4个级别的封装,查询字段整体可修改、查询条件整体可修改、查询条件中关系式关系符号后的值可修改、查询访问的账表可修改,通过4个级别的封装,可以使应用代码的用户不需要知道代码的细节,只需要了解相应接口,修改相关的条件值即可已完成代码运算,降低了代码执行的门槛,同时提升了系统的稳定性,约束了结果集大小,最大程度防止由于低效代码带来的数据库资源过量占用。
代码共享单元,在用户编写完成方法并设置好封装级别后,可以选择通过此单元将方法代码提交给管理员审核,管理员对方法的代码进行分析,合格的方法加入到方法共享库,并给该方法设定一个使用场景,方便各类型用户使用合适的方法。开展审计项目时,用户需要从共享方法代码库中选取所需要的方法,将代码复制到本地,按照封装条件,修改相应的参数或者条件设置,即可进行执行。
方法代码执行单元,根据形式化代码,语法校验与效率控制规则均通过后保存生成可执行的形式化SQL代码,并会匹配授权到项目的业务数据进行执行,保证执行的数据安全性与准确性。在代码执行完成后,可以通过界面直接查看保留的结果表结构及数据,进行结果下载等操作。
语法解析相关组件、效率控制相关组件贯穿于形式化代码生成的过程中,实现形式化代码生成中的效率控制。这样,可以通过效率控制相关组件利用输入过滤规则、输入过程控制规则,对用户输入的形式化代码进行效率控制,通过输出预判规则对生成代码的执行结果进行预判,避免不能容忍的执行操作发送,实现了从形式化代码生成周期的各个阶段,控制代码的效率,保证系统运行环境稳定,提高安全性,并且可以根据用户需要,接收相关效率控制规则,补充至效率控制规则库中,增加了灵活性;其次,通过矢量变量定制,使得代码可以批量生成,减少由于用户手工生成结构一致的句法时由于重复劳动造成疏漏的可能性,提升生产效率;最后,本发明可以判断用户的所需产生代码句型,以分步式的框架,通过列表选择、枚举、给定定义域输入、对象重命名等模式,逐步接收用户输入的形式化代码,快速高效的生成形式化代码集合,降低了对用户专业技术水平的要求,并减少了由于技术能力欠缺带来的生产安全相关的隐患。
相应的,本发明还提供一种形式化代码生成中的效率控制装置,参见图5所示,该装置包括:
第一接收模块201,用于接收效率控制规则,效率控制规则包括输入过滤规则、输入过程控制规则以及输出预判规则;
第二接收模块202,用于接收用户输入的形式化代码;
解析模块203,用于对用户输入的形式化代码进行解析,生成解析结果;
第一判断模块204,用于判断形式化代码是否符合输入过滤规则或输入过程控制规则;
校验模块205,用于根据解析结果判断形式化代码是否通过语法校验;
代码生成模块206,用于如果形式化代码符合输入过滤规则或输入过程控制规则,并且形式化代码通过语法校验,则保存形式化代码;
第二判断模块207,用于在保存形式化代码后,当接收到执行指令时,计算形式化代码的执行结果集,并判断执行结果集是否符合输出预判规则;
执行模块208,用于如果执行结果集符合输出预判规则,则继续执行形式化代码;
提示错误模块209,用于如果形式化代码不符合输入过滤规则或输入过程控制规则,或者形式化代码没有通过语法校验,则提示错误;如果执行结果集不符合输出预判规则,则提示错误。
其中,第二接收模块可以包括:
变量接收子模块,用于接收形式化代码中需要使用的输入变量;
代码接收子模块,用于通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
具体的,输入过滤规则可以包括输入数据过滤规则以及特殊句型及其输入数据过滤规则;输入过程控制规则可以包括关联规则以及特殊句型结构规则;解析结果中还包括每项形式化代码的句型。则第一判断模块可以包括:
第一判断子模块,用于判断接收的形式化代码中需要使用的输入变量是否符合输入数据过滤规则;
第二判断子模块,用于逐项判断形式化代码的句型是否为输入过滤规则中的特殊句型,如果是,则判断该项形式化代码的输入变量是否符合特殊句型及其输入数据过滤规则;
第三判断子模块,用于判断形式化代码是否符合关联规则;
第四判断子模块,用于逐项判断形式化代码的句型是否为输入过程控制规则中的特殊句型,如果是,则判断该项形式化代码是否符合特殊句型结构规则。
另外,解析结果中还可以包括每项形式化代码的句型,则形式化代码生成中的效率控制装置还可以包括:
第三接收模块,用于接收预先设定的分步式输入代码规则;
第二接收模块则可以包括:
变量接收子模块,用于接收形式化代码中需要使用的输入变量;
代码接收子模块,用于根据分步式输入代码规则以及每项形式化代码的句型分步通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
另外,形式化代码生成中的效率控制装置还包括:
矢量定义模块,用于定义矢量变量及矢量变量的属性;
第三判断模块,用于判断形式化代码中是否包括矢量变量;
矢量应用模块,用于根据矢量变量的属性,将包括矢量变量的一项形式化代码替换为一组形式化代码并保存。
这样,本发明通过建立输入过滤规则、输入过程控制规则等效率控制规则,对用户输入的形式化代码进行效率控制,通过输出预判规则对生成代码的执行结果进行预判,避免不能容忍的执行操作发送,实现了从形式化代码生成周期的各个阶段,控制代码的效率,保证系统运行环境稳定,提高安全性,并且可以根据用户需要,接收相关效率控制规则,补充至效率控制规则库中,增加了灵活性;其次,通过矢量变量定制,使得代码可以批量生成,减少由于用户手工生成结构一致的句法时由于重复劳动造成疏漏的可能性,提升生产效率;最后,本发明可以判断用户的所需产生代码句型,以分步式的框架,通过列表选择、枚举、给定定义域输入、对象重命名等模式,逐步接收用户输入的形式化代码,快速高效的生成形式化代码集合,降低了对用户专业技术水平的要求,并减少了由于技术能力欠缺带来的生产安全相关的隐患。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种形式化代码生成中的效率控制方法,其特征在于,所述方法包括:
接收效率控制规则,所述效率控制规则包括输入过滤规则、输入过程控制规则以及输出预判规则;
接收用户输入的形式化代码;
对所述用户输入的形式化代码进行解析,生成解析结果;
判断所述形式化代码是否符合所述输入过滤规则或所述输入过程控制规则;
根据所述解析结果判断所述形式化代码是否通过语法校验;
如果所述形式化代码符合所述输入过滤规则或所述输入过程控制规则,并且所述形式化代码通过语法校验,则保存所述形式化代码;
如果所述形式化代码不符合所述输入过滤规则或所述输入过程控制规则,或者所述形式化代码没有通过语法校验,则提示错误;
在保存所述形式化代码后,当接收到执行指令时,计算所述形式化代码的执行结果集,并判断所述执行结果集是否符合所述输出预判规则;
如果所述执行结果集符合所述输出预判规则,则继续执行所述形式化代码;如果所述执行结果集不符合所述输出预判规则,则提示错误;
所述接收用户输入的形式化代码,包括:
接收形式化代码中需要使用的输入变量;
通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
2.根据权利要求1所述的方法,其特征在于,所述输入过滤规则包括输入数据过滤规则以及特殊句型及该特殊句型的输入数据过滤规则;所述输入过程控制规则包括关联规则以及特殊句型结构规则;所述解析结果中还包括每项所述形式化代码的句型;
所述判断所述形式化代码是否符合所述输入过滤规则或所述输入过程控制规则包括:
判断接收的形式化代码中需要使用的输入变量是否符合输入数据过滤规则;
逐项判断形式化代码的句型是否为输入过滤规则中的特殊句型,如果是,则判断该项形式化代码的输入变量是否符合所述特殊句型及其输入数据过滤规则;
判断所述形式化代码是否符合关联规则;
逐项判断形式化代码的句型是否为输入过程控制规则中的特殊句型,如果是,则判断该项形式化代码是否符合所述特殊句型结构规则。
3.根据权利要求1所述的方法,其特征在于,所述解析结果中还包括每项所述形式化代码的句型;所述方法还包括:接收预先设定的分步式输入代码规则;
所述接收用户输入的形式化代码,包括:
接收形式化代码中需要使用的输入变量;
根据所述分步式输入代码规则以及每项所述形式化代码的句型分步通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
4.根据权利要求1所述的方法,其特征在于,在保存所述形式化代码之后,接收到执行指令之前,所述方法还包括:
定义矢量变量及所述矢量变量的属性;
判断所述形式化代码中是否包括所述矢量变量;
根据所述矢量变量的属性,将包括所述矢量变量的一项形式化代码替换为一组形式化代码并保存。
5.一种形式化代码生成中的效率控制装置,其特征在于,所述装置包括:
第一接收模块,用于接收效率控制规则,所述效率控制规则包括输入过滤规则、输入过程控制规则以及输出预判规则;
第二接收模块,用于接收用户输入的形式化代码;
解析模块,用于对所述用户输入的形式化代码进行解析,生成解析结果;
第一判断模块,用于判断所述形式化代码是否符合所述输入过滤规则或所述输入过程控制规则;
校验模块,用于根据所述解析结果判断所述形式化代码是否通过语法校验;
代码生成模块,用于如果所述形式化代码符合所述输入过滤规则或所述输入过程控制规则,并且所述形式化代码通过语法校验,则保存所述形式化代码;
第二判断模块,用于在保存所述形式化代码后,当接收到执行指令时,计算所述形式化代码的执行结果集,并判断所述执行结果集是否符合所述输出预判规则;
执行模块,用于如果所述执行结果集符合所述输出预判规则,则继续执行所述形式化代码;
提示错误模块,用于如果所述形式化代码不符合所述输入过滤规则或所述输入过程控制规则,或者所述形式化代码没有通过语法校验,则提示错误;如果所述执行结果集不符合所述输出预判规则,则提示错误;
所述第二接收模块包括:
变量接收子模块,用于接收形式化代码中需要使用的输入变量;
代码接收子模块,用于通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
6.根据权利要求5所述的装置,其特征在于,所述输入过滤规则包括输入数据过滤规则以及特殊句型及该特殊句型的输入数据过滤规则;所述输入过程控制规则包括关联规则以及特殊句型结构规则;所述解析结果中还包括每项所述形式化代码的句型;所述第一判断模块包括:
第一判断子模块,用于判断接收的形式化代码中需要使用的输入变量是否符合输入数据过滤规则;
第二判断子模块,用于逐项判断形式化代码的句型是否为输入过滤规则中的特殊句型,如果是,则判断该项形式化代码的输入变量是否符合所述特殊句型及其输入数据过滤规则;
第三判断子模块,用于判断所述形式化代码是否符合关联规则;
第四判断子模块,用于逐项判断形式化代码的句型是否为输入过程控制规则中的特殊句型,如果是,则判断该项形式化代码是否符合所述特殊句型结构规则。
7.根据权利要求5所述的装置,其特征在于,所述解析结果中还包括每项所述形式化代码的句型;所述装置还包括:
第三接收模块,用于接收预先设定的分步式输入代码规则;
所述第二接收模块包括:
变量接收子模块,用于接收形式化代码中需要使用的输入变量;
代码接收子模块,用于根据所述分步式输入代码规则以及每项所述形式化代码的句型分步通过直接文本录入模式、选择模式、枚举模式、给定定义域输入模式、对象重命名模式中的一种或多种接收用户输入的形式化代码。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
矢量定义模块,用于定义矢量变量及所述矢量变量的属性;
第三判断模块,用于判断所述形式化代码中是否包括所述矢量变量;
矢量应用模块,用于根据所述矢量变量的属性,将包括所述矢量变量的一项形式化代码替换为一组形式化代码并保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310162876.1A CN103226488B (zh) | 2013-05-06 | 2013-05-06 | 一种形式化代码生成中的效率控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310162876.1A CN103226488B (zh) | 2013-05-06 | 2013-05-06 | 一种形式化代码生成中的效率控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103226488A CN103226488A (zh) | 2013-07-31 |
CN103226488B true CN103226488B (zh) | 2016-08-24 |
Family
ID=48836950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310162876.1A Expired - Fee Related CN103226488B (zh) | 2013-05-06 | 2013-05-06 | 一种形式化代码生成中的效率控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226488B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199831B (zh) * | 2014-07-31 | 2017-10-24 | 深圳市腾讯计算机系统有限公司 | 信息处理方法及装置 |
CN104572451B (zh) * | 2014-12-25 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 一种代码效率检查方法及系统 |
CN106708897B (zh) * | 2015-11-17 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种数据仓库质量保障方法、装置和系统 |
CN105512102A (zh) * | 2015-12-01 | 2016-04-20 | 北京交控科技股份有限公司 | 一种数据解析方法及系统 |
CN106940640A (zh) * | 2016-01-04 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种针对错误输入信息的页面定位方法及装置 |
CN107844385B (zh) * | 2017-11-08 | 2021-04-23 | 北京龙之心科技有限公司 | 一种基于共享内存的变量读写方法及装置 |
US11335176B2 (en) * | 2020-07-31 | 2022-05-17 | Honeywell International Inc. | Generating a model for a control panel of a fire control system |
CN112231337A (zh) * | 2020-10-20 | 2021-01-15 | 中国建设银行股份有限公司 | Sas语句的检测装置及方法、电子设备及存储介质 |
CN112162738B (zh) * | 2020-10-26 | 2022-11-29 | 广东粤港澳大湾区硬科技创新研究院 | 数据转化方法、装置、终端设备及存储介质 |
CN113552466B (zh) * | 2021-06-11 | 2022-04-19 | 西安电子科技大学 | 基于用户硬件资源分布的协同电路生成方法 |
CN117111917B (zh) * | 2023-10-23 | 2024-02-27 | 福建自贸试验区厦门片区Manteia数据科技有限公司 | 医疗辅助系统的交互方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1648872A (zh) * | 2004-12-08 | 2005-08-03 | 上海科泰世纪科技有限公司 | 自动化测试构建方法 |
CN101017458A (zh) * | 2007-03-02 | 2007-08-15 | 北京邮电大学 | 基于源代码静态分析的软件安全代码分析器及其检测方法 |
CN101814026A (zh) * | 2010-01-11 | 2010-08-25 | 北京世纪高通科技有限公司 | 软件开发的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073512B (zh) * | 2009-11-23 | 2014-07-16 | 阿里巴巴集团控股有限公司 | 一种java集群应用系统代码装载及升级装置和方法 |
-
2013
- 2013-05-06 CN CN201310162876.1A patent/CN103226488B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1648872A (zh) * | 2004-12-08 | 2005-08-03 | 上海科泰世纪科技有限公司 | 自动化测试构建方法 |
CN101017458A (zh) * | 2007-03-02 | 2007-08-15 | 北京邮电大学 | 基于源代码静态分析的软件安全代码分析器及其检测方法 |
CN101814026A (zh) * | 2010-01-11 | 2010-08-25 | 北京世纪高通科技有限公司 | 软件开发的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103226488A (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226488B (zh) | 一种形式化代码生成中的效率控制方法及装置 | |
CN107861728B (zh) | 用于传统程序语言向现代程序语言转换的方法及其系统 | |
Del Fabro et al. | Semi-automatic model integration using matching transformations and weaving models | |
Didonet Del Fabro et al. | Towards the efficient development of model transformations using model weaving and matching transformations | |
US7984031B2 (en) | Query builder for testing query languages | |
Mann et al. | Pono: a flexible and extensible SMT-based model checker | |
CA2957674C (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
CN106648587A (zh) | 一种基于注解的Web应用代码生成方法 | |
KR20060093018A (ko) | 항목들 사이의 관계와의 상호작용을 위한 시스템 및 방법 | |
US10534592B2 (en) | Template expressions for constraint-based systems | |
CN101714078A (zh) | 代码生成方法及装置 | |
Loffredo | Efficient database implementation of EXPRESS information models | |
CN107463603A (zh) | 一种基于量化dmp的科研项目生命周期数据管理定制化控制方法和系统 | |
US20190042207A1 (en) | Configuration model parsing for constraint-based systems | |
CN101901265A (zh) | 一种虚拟试验数据对象化管理系统 | |
CN104965781A (zh) | 一种生成测试用例的方法及装置 | |
Julián-Iranzo et al. | A fuzzy logic programming environment for managing similarity and truth degrees | |
Chen et al. | Graph edit distance reward: Learning to edit scene graph | |
CN112558498B (zh) | 一种基于数据池的mbse飞行器系统间联合设计与验证方法 | |
CN108701153B (zh) | 响应自然语言查询的方法、系统和计算机可读存储介质 | |
KR102491753B1 (ko) | 쿼리를 이용한 프레임워크 딥러닝 학습 시스템 및 방법 | |
CN109408592B (zh) | 一种决策型分布式数据库系统中ai的特征工程知识库及其实现方法 | |
Wojszczyk et al. | The process of verifying the implementation of design patterns—used data models | |
CN110309062A (zh) | 用例生成方法、装置、电子设备及存储介质 | |
De Carlos et al. | Model query translator: A model-level query approach for large-scale models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160824 |
|
CF01 | Termination of patent right due to non-payment of annual fee |