[发明专利]一种MATLAB语言代码质量检测系统及其检测方法在审
申请号: | 202210566682.7 | 申请日: | 2022-05-23 |
公开(公告)号: | CN115203016A | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 钱振宇 | 申请(专利权)人: | 钱振宇 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 安徽思沃达知识产权代理有限公司 34220 | 代理人: | 张旭华 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 matlab 语言 代码 质量 检测 系统 及其 方法 | ||
本发明公开了一种MATLAB语言代码质量检测系统及其检测方法,涉及MATLAB语言代码质量检测领域,解决了现有的MATLAB语言代码没有快速有效的质量检测手段,不能有效的避免代码中留存隐性漏洞的问题,现提出如下方案,其包括前端系统、后端系统,所述前端系统包括首页、登录/注册界面、查看项目界面、分析结果展示,所述后端系统包括多文件处理模块、代码静态分析处理模块、语法树监听器模块、符号表与作用域模块、工具类模块、结果展示模块与CRUD模块。本系统方法实现了MATLAB变量的类型推导,不占用用户本地资源,实现了绘制函数之间调用关系的功能,且分析速度快的特点。
技术领域
本发明涉及MATLAB语言代码质量检测领域,尤其涉及一种MATLAB语言代码质量检测系统及其检测方法。
背景技术
代码质量检测是代码编写和软件开发过程中十分重要的一环。针对MATLAB语言,有效的代码检测手段能够在编码阶段及时发现可能存在的错误,并检测代码是否符合编码标准。这不仅有助于节省编程人员排查错误的时间,还能避免代码中留存隐性漏洞,为未来的程序运行造成安全隐患。
然而,由于MATLAB的动态类型语言特性,市面上十分缺乏针对MATLAB代码质量检测手段,更多的是针对C/C++等传统语言的代码静态检测工具,如何对MATLAB代码进行快速有效的质量检测,成为亟待解决的问题之一。因此提出一种MATLAB语言代码质量检测系统及其检测方法。
发明内容
本发明的目的在于提供一种MATLAB语言代码质量检测系统及其检测方法,解决了现有的MATLAB语言代码没有快速有效的质量检测手段,不能有效的避免代码中留存隐性漏洞的问题。
为实现上述目的,本发明提供如下技术方案:一种MATLAB语言代码质量检测系统,包括前端系统、后端系统,所述前端系统包括首页、登录/注册界面、查看项目界面、分析结果展示,所述后端系统包括多文件处理模块、代码静态分析处理模块、语法树监听器模块、符号表与作用域模块、工具类模块、结果展示模块与CRUD模块。
优选的,所述分析结果展示模块还包括详细代码与函数调用图页面、分析信息查询页面与分析数据展示界面。
优选的,所述首页、登录/注册界面、查看项目界面、分析结果展示用于用户在前端系统登录账户并上传文件。
优选的,所述多文件处理模块用于接收文件以及转储,所述代码静态分析处理模块用于对词法、语法进行分析并生成抽象语法树,以及还用于遍历语法分析树,检测词法与语法错误,记录函数及函数参数,代码静态分析。
优选的,所述语法树监听器模块用于在语法树遍历过程中监听,处理静态分析内容,所述符号表与作用域模块用于描述。记录MATLAB的符号表和作用域。
优选的,所述工具类模块用于生成DOT代码、绘制调用关系图,所述结果展示模块用于传送分析结果与图片,所述CRUD模块用于与数据库交互、听随前端系统命令进行增删改查。
一种MATLAB语言代码质量检测方法,包括以下步骤:
S1:在前端系统登录后上传文件,并通过分析结果展示模块的详细代码与函数调用图页面、分析信息查询页面与分析数据展示界面对相关信息进行展示。
S2:通过后端系统的多文件处理模块对上传的文件进行接收、转储,同时通过代码静态分析处理模块对将文件信息调用并分别通过语法树监听模块、符号表与作用域模块与工具类模块对文件信息在语法树遍历过程中监听,处理静态分析内筒,描述、记录MATLAB的符号表和作用域,生成DOT代码,绘制调用关系图;
S3:通过结果展示模块对进行各种分析数据进行传送分析结果、图片,以及展示、表格式查询;
S4:用户、项目CRUD模块分别与数据库以及前端系统连接,以方便对用户登录、项目展示、项目新建进行的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于钱振宇,未经钱振宇许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210566682.7/2.html,转载请声明来源钻瓜专利网。