一种检测程序代码语法错误的方法技术

技术编号:27059056 阅读:18 留言:0更新日期:2021-01-15 14:38
本发明专利技术公开了一种检测程序代码语法错误的方法,包括以下步骤:步骤一、对新增补丁进行审核,使用编译服务器生成新的新增补丁,并且将新增补丁发送给程序代码审核服务器,使程序代码审核服务器对编译服务器所生成的新增补丁进行审核;该一种检测程序代码语法错误的方法,通过对新增补丁进行审核、检测节点的收集和储存、每段函数分段检测、检测代码注释是否大于或等于预设的阈值、反馈错误信息和得出检测结果六个步骤的设置,避免了人工进行手动审核代码,在释放人力的同时,也使判断代码语法问题的准确性得到提高,也能够判断出代码是否能够正常编译,从而使关于程序代码语法错误的检测方法得到改进。

【技术实现步骤摘要】
一种检测程序代码语法错误的方法
本专利技术涉及程序代码检测
,具体为一种检测程序代码语法错误的方法。
技术介绍
众所周知,代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。源代码是代码的分支,某种意义上来说,源代码相当于代码;经检索,由中国专利网公开的公开号为CN110879708A的专利,公开了一种基于抽象语法树和定理证明的局部敏感程序分析方法,包括:对程序代码构建出没有语法错误的抽象语法树AST;遍历程序代码的抽象语法树AST,收集待检测节点及待检测节点的相关节点,根据待检测节点及其相关节点信息,形成待检测节点的相关逻辑表达式,输入至定理证明器中;定理证明器通过逻辑表达式求解待检测节点,若求解获得的待检测节点值存在异常情况,则判定程序存在语义缺陷。本专利技术通过收集程序节点局部上下文和局部路径信息,避免某些错误的报警以及提高易用性,实现了对程序代码的语义缺陷检测,避免了传统的符号执行工具分析代码因为路径爆炸问题而耗时长的问题。但是,上述专利的不足之处在于:目前,现有技术的代码审核流程有多种权限,但这些权限都需要在相关模块上进行手动审核,即需要大量人为干预,进行手动审核代码,而手动审核代码无法准确判断代码的语法问题,也没法判断代码是否可以正常编译,从而使对于程序代码语法错误的检测方法仍有改进的空间。专利技术内容(一)解决的技术问题针对现有技术的不足,本专利技术提供了一种检测程序代码语法错误的方法。(二)技术方案为实现上述目的,本专利技术提供如下技术方案:一种检测程序代码语法错误的方法,包括以下步骤:步骤一、对新增补丁进行审核,使用编译服务器生成新的新增补丁,并且将新增补丁发送给程序代码审核服务器,使程序代码审核服务器对编译服务器所生成的新增补丁进行审核;步骤二、检测节点的收集和储存,程序代码审核服务器对新增补丁中的内容进行检测节点的收集和储存,使程序代码审核服务器能够根据检测节点对新增补丁中的内容进行快速地审核和处理;步骤三、每段函数分段检测,用持续集成服务器对程序代码审核服务器检测中的语法错误进行每段函数的单独读取检测,从而使每段函数中的语法错误能够被分段检测出来;步骤四、检测代码注释是否大于或等于预设的阈值,使用持续集成服务器检测出每段函数包含的代码注释是否大于或等于预设的阈值数量,根据检测结果的不同,对语法错误进行分类;步骤五、反馈错误信息,当每段函数包含的代码注释小于预设的阈值数量时,会触发编译服务器构建编译信息,并且将会语法错误的具体信息发送至程序代码审核服务器界面进行反馈和通知;步骤六、得出检测结果,当持续集成服务器检测到每段函数包含的代码注释大于或等于所述预设的阈值数量时,会记录代码注释的最终检测结果,并对检测成功的内容进行编译,发送至程序代码审核服务器中。优选的,在步骤一中所提出的新增补丁,指的是当专业人士在发现有人利用系统里面的漏洞进行恶性病毒破坏后,制作的修补这些漏洞的程序,当发布系统后,一旦发现有些程序中有漏洞,存在着漏洞被不法者利用而攻击用户的安全隐患,所以使用编译服务器生成新的新增补丁,并且将新增补丁发送给程序代码审核服务器,从而能够避免程序代码中的漏洞被攻击。优选的,在步骤二中,代码审查是指对计算机源代码系统化地审查,常用软件同行评审的方式进行,其目的是在找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术,代码审查常以不同的形式进行,使程序代码审核服务器能够根据检测节点对新增补丁中的内容进行快速地审核和处理。优选的,在步骤三中,持续集成的宗旨是避免集成问题,用持续集成服务器对程序代码审核服务器检测中的语法错误进行每段函数的单独读取检测,持续集成并非普遍接受是用来改善集成频率的方法,因此重要的是区分两者所带来的效益,持续集成需要达到最佳成果,必须依靠着自动化集成单元测试并通过测试驱动开发。优选的,在步骤四中,持续集成服务器除了自动化单元测试,组织在运用持续性集成时,会建置CI服务器来维护持续性套用质量控制的程序的影响,使用持续集成服务器检测出每段函数包含的代码注释是否大于或等于预设的阈值数量,除了运行单元与集成测试之外,还有额外的静态与动态测试,量测与描述性能。优选的,在步骤五中,反馈错误信息,当每段函数包含的代码注释小于预设的阈值数量时,会触发编译服务器构建编译信息,编译是利用编译程序从源语言编写的源程序产生目标程序的过程,以及用编译程序产生目标程序的动作,分析过程中发现有语法错误,会给出提示信息。优选的,在步骤六中,当持续集成服务器检测到每段函数包含的代码注释大于或等于所述预设的阈值数量时,从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序,源程序中的单词符号经扫描器分析。优选的,在步骤六中,编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,分析检查每条语句是否有正确的逻辑结构,程序是最终的一个语法单位,编译程序的语法规则可用上下文无关文法来刻画,并且程序会记录代码注释的最终检测结果,并对检测成功的内容进行编译,并发送至程序代码审核服务器中。(三)有益效果与现有技术相比,本专利技术提供了一种检测程序代码语法错误的方法,具备以下有益效果:该一种检测程序代码语法错误的方法,通过对新增补丁进行审核、检测节点的收集和储存、每段函数分段检测、检测代码注释是否大于或等于预设的阈值、反馈错误信息和得出检测结果六个步骤的设置,避免了人工进行手动审核代码,在释放人力的同时,也使判断代码语法问题的准确性得到提高,也能够判断出代码是否能够正常编译,从而使关于程序代码语法错误的检测方法得到改进。附图说明图1为本专利技术的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例请参阅图1,本专利技术提供一种技术方案:一种检测程序代码语法错误的方法,包括以下步骤:步骤一、对新增补丁进行审核,使用编译服务器生成新的新增补丁,并且将新增补丁发送给程序代码审核服务器,使程序代码审核服务器对编译服务器所生成的新增补丁进行审核;步骤二、检测节点的收集和储存,程序代码审核服务器对新增补丁中的内容进行检测节点的收集和储存,使程序代码审核服务器能够根据检测节点对新增补丁中的内容进行快速地审核和处理;步骤三、每段函数分段检测,用持续集成服务器对程序代码审核服务器检测中的语法错误进行每段函数的单独读取检测,从而使本文档来自技高网...

【技术保护点】
1.一种检测程序代码语法错误的方法,其特征在于,包括以下步骤:/n步骤一、对新增补丁进行审核,使用编译服务器生成新的新增补丁,并且将新增补丁发送给程序代码审核服务器,使程序代码审核服务器对编译服务器所生成的新增补丁进行审核;/n步骤二、检测节点的收集和储存,程序代码审核服务器对新增补丁中的内容进行检测节点的收集和储存,使程序代码审核服务器能够根据检测节点对新增补丁中的内容进行快速地审核和处理;/n步骤三、每段函数分段检测,用持续集成服务器对程序代码审核服务器检测中的语法错误进行每段函数的单独读取检测,从而使每段函数中的语法错误能够被分段检测出来;/n步骤四、检测代码注释是否大于或等于预设的阈值,使用持续集成服务器检测出每段函数包含的代码注释是否大于或等于预设的阈值数量,根据检测结果的不同,对语法错误进行分类;/n步骤五、反馈错误信息,当每段函数包含的代码注释小于预设的阈值数量时,会触发编译服务器构建编译信息,并且将会语法错误的具体信息发送至程序代码审核服务器界面进行反馈和通知;/n步骤六、得出检测结果,当持续集成服务器检测到每段函数包含的代码注释大于或等于所述预设的阈值数量时,会记录代码注释的最终检测结果,并对检测成功的内容进行编译,发送至程序代码审核服务器中。/n...

【技术特征摘要】
1.一种检测程序代码语法错误的方法,其特征在于,包括以下步骤:
步骤一、对新增补丁进行审核,使用编译服务器生成新的新增补丁,并且将新增补丁发送给程序代码审核服务器,使程序代码审核服务器对编译服务器所生成的新增补丁进行审核;
步骤二、检测节点的收集和储存,程序代码审核服务器对新增补丁中的内容进行检测节点的收集和储存,使程序代码审核服务器能够根据检测节点对新增补丁中的内容进行快速地审核和处理;
步骤三、每段函数分段检测,用持续集成服务器对程序代码审核服务器检测中的语法错误进行每段函数的单独读取检测,从而使每段函数中的语法错误能够被分段检测出来;
步骤四、检测代码注释是否大于或等于预设的阈值,使用持续集成服务器检测出每段函数包含的代码注释是否大于或等于预设的阈值数量,根据检测结果的不同,对语法错误进行分类;
步骤五、反馈错误信息,当每段函数包含的代码注释小于预设的阈值数量时,会触发编译服务器构建编译信息,并且将会语法错误的具体信息发送至程序代码审核服务器界面进行反馈和通知;
步骤六、得出检测结果,当持续集成服务器检测到每段函数包含的代码注释大于或等于所述预设的阈值数量时,会记录代码注释的最终检测结果,并对检测成功的内容进行编译,发送至程序代码审核服务器中。


2.根据权利要求1所述的一种检测程序代码语法错误的方法,其特征在于:在步骤一中所提出的新增补丁,指的是当专业人士在发现有人利用系统里面的漏洞进行恶性病毒破坏后,制作的修补这些漏洞的程序,当发布系统后,一旦发现有些程序中有漏洞,存在着漏洞被不法者利用而攻击用户的安全隐患,所以使用编译服务器生成新的新增补丁,并且将新增补丁发送给程序代码审核服务器,从而能够避免程序代码中的漏洞被攻击。


3.根据权利要求1所述的一种检测程序代码语法错误的方法,其特征在于:在步骤二中,代码审查是指对计算机源代码系统化地审查,常用软件同行评审的方式进行,其目的是在找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术,代码审查常以不同的形式进行,使程序代码审核服务器能够根据检...

【专利技术属性】
技术研发人员:刘超赵小容李晶
申请(专利权)人:湖南皖湘科技有限公司
类型:发明
国别省市:湖南;43

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

1