一种基于嵌入式软件的静态检测方法及其系统技术方案

技术编号:8413076 阅读:189 留言:0更新日期:2013-03-14 02:07
本发明专利技术提供一种基于嵌入式软件静态检测的方法,该方法解决了现有静态检测技术的不足,结合控制流、数据流信息及路径别名信息进行静态检测。该方法包括检测执行端模块和客户端模块,客户端提供图形化规则文件编辑支持,测试人员完成源文件编辑工作后,可对源文件执行静态检测,客户端发送命令通知检测执行端开始静态检测。检测执行端接收客户端发送的开始检测命令,对源文件结构进行分析,调用规则解析模块对规则文件进行解析,处理后产生匹配结果,并通过匹配结果封装模块进行封装,将封装产生的检测结果发送给客户端供后者分析显示。客户端对检测结果进行分析、映射,根据检测结果更新客户端,让开发人员能够直观地查看静态检测结果,直观查看规则违反情况。

【技术实现步骤摘要】

本专利技术涉及软件检测
,特别是涉及一种基于嵌入式软件的静态检测方法及其系统
技术介绍
嵌入式系统发展到目前 ,广泛应用于自动化控制、军事技术、工业控制、科学研究、医学研究、交通管理、人工智能等系统环境中。嵌入式系统中,硬件是核心,软件是灵魂,嵌入式软件在整体系统中处于关键地位。如何在尽量缩短开发周期的条件下,保证嵌入式软件的质量、可靠性、安全性等,成为了一个备受关注的课题。因此,嵌入式软件测试的重要性日关出。在嵌入式软件开发过程中,代码中存在的错误发现越晚,则维护代价越高,所以,尽早地发现并解决代码中存在的错误,对控制嵌入式软件的开发成本及保证嵌入式软件质量至关重要。静态检测是在不运行程序的情况下,对源代码结构进行分析发现潜在错误,能够在开发阶段发现源码中存在的问题,这对于控制嵌入式软件开发周期及降低数字家嵌入式软件维护成本具有重要的意义。目前已存在也存在针对C进行静态检测的工具,有的基于命令行工作,比如Splint, CPPCheck,容易产生较多警告信息,其中一些为误报信息,容易淹没正常错误信息,检测结果不易查看。有的价格昂贵,比如QAC/C++、PC-Lint>本文档来自技高网...

【技术保护点】
一种基于嵌入式软件的静态检测方法,其特征在于,包括以下步骤:对源文件结构进行分析,生成GIMPLE图、控制流、数据流信息的步骤;对预设的规则文件进行解析的步骤;根据解析产生的规则约束字符串构造正则表达式的步骤;根据正则表达式、控制流、数据流信息执行规则匹配的步骤;如果发现匹配条目,则对违反检测规则的语句及控制流路径进行记录,进行封装,将封装产生的检测结果,然后进行分析显示。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘发贵贺南刘佳欣
申请(专利权)人:华南理工大学
类型:发明
国别省市:

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

1