执行ABAP源代码的代码检查的代码检查执行系统技术方案

技术编号:8026936 阅读:372 留言:0更新日期:2012-11-29 13:17
本发明专利技术涉及一种执行ABAP源代码的代码检查的代码检查执行系统,更详细地涉及通过检查系统故障及停止、数据损失及改变、性能降低过大、功能的错误执行及结果、复杂的代码结构及拼写错误等的编码缺陷使得ABAP应用的维护性、性能性、准确性、稳定性以及安全性等变得可靠的执行ABAP源代码的代码检查的代码检查执行系统。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种执行ABAP (高级企业应用编码语言)源代码的代码检查的代码检查执行系统,更详细地涉及如下的执行ABAP源代码的代码检查的代码检查执行系统,由德国SAP公司开发的ABAP/4语言是用于以作为客户服务器环境的SAP R/3为基础来开发企业的企业资源计划(ERP, Enterprise Resource Planning)等的第四代语言,但与Java等第四代语言不同,对ABAP编程没有定型的大小写区分(Case-sensitive)和编码格式(Format)的限制,因而通过检查因ABAP开发人员对ABAP语言及SAP R/3的误解、误用及失误等原因产生的系统故障及停止、数据损失及改变、性能降低过大、功能的错误运行及结果、复杂的代码结构及拼写错误等编码缺陷使得ABAP应用的维护性、性能性、准确性、稳定性以及安全性等变得可靠。
技术介绍
能够检查ABAP软件所包含的各种代码缺陷的方法当中有如下方法通过仅用源代码进行静态分析,能够在事前探知在实际运行中可能发生的代码缺陷的代码检查方法;以通过运行源代码得到的结果值为基础来查找代码缺陷的测试方法。就代码检查方法而言,在测试之前去除代码缺陷,从而不仅能够缩短开发时间、减少测试费用及时间,而且还由于应用的开发以具有一贯性的编码格式为基础,因而能够减少日后的维护费用,因此特别高效。以往的ABAP代码检查,利用在开发代码后(编译后)通过手动操作来检验代码的方法和作为通过运行程序来实时查找安全脆弱点的测试方法的代码分析器(CodeProf iler),但在开发代码的步骤中(编译前)若不运行代码,而仅用ABAP代码就无法探知违反ABAP应用的维护性、性能性、准确性、稳定性以及安全性等的代码。
技术实现思路
技术问题因此,本专利技术是考虑如上所述的以往的技术问题而提出的,本专利技术的目的在于,根据预先定义的ABAP语法(巴科斯范式)对ABAP源代码进行词汇及句子分析来构建抽象句子树的树状数据结构,并在抽象句子树中进行意义分析来构建符号表的表数据结构。本专利技术的再一目的在于,ABAP代码检查工具的源代码缺陷检查,以能够以上述中所构建的表以及树状数据结构为基础检查与各种编码规范相关的源代码的缺陷来提供代码缺陷报告书以修改所违反的代码缺陷。技术方案为了解决本专利技术所要解决的问题,本专利技术的一实施例提出了一种执行ABAP源代码的代码检查的代码检查执行系统,包括=ABAP源代码语法分析部,其对作为代码检查对象的ABAP源代码进行词汇、句子及意义分析,并分别存储在抽象句子树和符号表的数据结构;ABAP源代码缺陷检查部,其以上述数据结构为基础在程序路径分析模块中对与选自ABAP规范管理模块中的编码规范相关的源代码以及语法结构进行代码缺陷检查,来生成代码缺陷报告书以能够修改违反规范的代码缺陷。有利的效果具有以上结构以及作用的本专利技术的执行ABAP源代码的代码检查的代码检查执行系统仅用源代码对包含在ABAP软件中的各种代码缺陷进行静态分析,可提供能够在事前探知在实际执行时可能发生的代码缺陷。并且,通过在测试之前去除因ABAP开发人员对ABAP语言及SAP R/3的误解、误用以及失误等原因产生的系统故障及停止、数据损失及改变、性能降低过大、功能的错误运行及结果、复杂的代码结构及拼写错误等编码缺陷,具有不仅能够缩短开发时间、减少测试费用及时间,而且还由于应用的开发以具有一贯性的编码格式为基础,因而能够减少日后的维护费用的更好的效果。附图说明 图I是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统的整体框图;图2是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统的执行方法的流程图;图3是表示本专利技术的一实施例的选择作为执行ABAP源代码的代码检查的代码检查执行系统的检查对象的ABAP源代码文件的画面例示图;图4是表示作为本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统的代码检查对象ABAP源代码的例示图;图5是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统的词汇分析模块的例示图;图6是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统的句子分析模块的例示图;图7是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统的抽象句子树的数据结构的例示图;图8是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统的抽象句子树的例示图;图9是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统的符号表数据结构的类图;图10是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统运行句子以及意义分析时的屏幕截图;图11是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统选择编码规范时的画面例示图;图12是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统在运行控制流程路径模式的代码检查后生成的代码缺陷报告书的画面的例示图;图13是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统在运行控制及数据流程路径模式的代码检查后生成的代码缺陷报告书的画面的例示图;以及图14是表示本专利技术的一实施例的执行ABAP源代码的代码检查的代码检查执行系统在运行控制流程及调用路径模式的代码检查后生成的代码缺陷报告书的画面的例示图。附图主要部分标记的说明100 =ABAP源代码语法分析部110 词汇分析模块120 :句子分析模块130 :抽象句子树存储处理模块 140 :意义分析模块150 :符号表存储处理模块200 =ABAP源代码缺陷检查部210 =ABAP规范数据库220 =ABAP规范管理模块230 :程序路径分析模块240 :代码缺陷报告书生成模块具体实施例方式用于解决上述问题的本专利技术的执行ABAP源代码的代码检查的代码检查执行系统,其特征在于,包括ABAP源代码语法分析部,其对作为代码检查对象的ABAP源代码进行词汇、句子以及意义分析,并分别存储在抽象句子树和符号表的数据结构;ABAP源代码缺陷检查部,其以上述数据结构为基础在程序路径分析模块中对与选自ABAP规范管理模块中的编码规范相关的源代码以及语法结构进行代码缺陷检查,来生成代码缺陷报告书以能够修改违反规范的代码缺陷。这时,特征在于,上述ABAP源代码语法分析部包括词汇分析模块,其以文件为单位读取作为检查对象的ABAP源代码文件,根据预先定义的ABAP语法(巴科斯范式)将ABAP源代码分离为表示一连串字符串的标记(Token)单位(关键词、标识符、符号标识符、常量、运算符);句子分析模块,其检查以各个文件为单位分离的标记的句子(语法)是否违反预先定义的ABAP语法,若有语法错误就抽取相关文件的语法错误消息,若没有语法错误,就分析语句的句子,并赋予句子之间的控制流程关系的意义来抽取各个文件单位的句子结构;抽象句子树存储处理模块,其以各个文件为单位,将上述句子分析模块中所抽取的信息存储到树数据结构中;意义分析模块,其从上述抽象句子树存储处理模块中抽取构成各个文件的符号类型(类、方法、变量、表单、函数、事件、对话、处理块)和它们之间的链接关系信息以及缺陷检查所需本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:李宪起
申请(专利权)人:株式会社软四软
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1