[发明专利]度量FPGA软件静态质量的方法在审
申请号: | 201710405699.3 | 申请日: | 2017-06-01 |
公开(公告)号: | CN107341101A | 公开(公告)日: | 2017-11-10 |
发明(设计)人: | 李晨阳;孙肖;陈晟飞;王静 | 申请(专利权)人: | 西南电子技术研究所(中国电子科技集团公司第十研究所) |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 成飞(集团)公司专利中心51121 | 代理人: | 郭纯武 |
地址: | 610036 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 度量 fpga 软件 静态 质量 方法 | ||
技术领域
本发明涉及一种包括度量元分类、度量元加权系数设计、度量计算方法、评价规则和评价流程的度量可编程逻辑器件(FPGA)软件静态质量方法。
背景技术
目前信息安全设备和专用芯片设计的主流趋势是以HDL(Hardware Description Language)表达设计意图、FPGA作为硬件载体、计算机为设计开发工具、EDA软件为开发环境的设计方式。为提高信息安全设备的设计质量,必须对其研究设计的各个环节进行评审。FPGA具有集成度高、功耗低、使用灵活和开发周期短等特点,在数字系统设计领域中得到广泛采用。对FPGA软件测试受到越来越多的行业重视和研究。如今已经发展成为可以完成超大规模的复杂组合逻辑与时序逻辑的现场可编程逻辑硬件(FPGA)和复杂可编程逻辑硬件(CPLD)。随着工艺技术的发展与市场需要,超大规模、高速、低功耗的新型FPGA/CPLD不断推陈出新,新一代的FPGA甚至集成了中央处理器(CPU)或数字处理器(DSP)内核。随着软件规模的日益复杂和庞大,软件的开发与管理也日益复杂。作为有效保证和验证软件质量的重要环节和依据,软件测试已逐渐成为软件研制成本最高的阶段。软件质量是软件的生命,它直接影响着软件的使用和维护。随着FPGA设计软件规模的不断增大和复杂度的上升,软件的开发与管理也日益复杂,验证任务已成为整个设计流程的瓶颈。软件质量是软件的生命,它直接影响着软件的使用和维护。软件质量评价的目的是为了直接支持开发并获得能满足用户要求的软件。其最终目标是保证产品能提供所要求的质量。因此,对FPGA设计进行高效和充分的验证是提高FPGA设计可靠性的关键。传统的功能仿真验证采用HDL语言对被验证对象(DUT)编写定向测试用例,人工观察输出波形并判断验证结果。缺点是难以达到预期覆盖率、抽象层次低、通用性差。单元测试作为软件项目中最早介入的测试活动,易于发现程序的错误和度量元缺陷,也易于实现代码测试的完全覆盖,因此单元测试的好坏对于软件质量的保证起着非常关键的作用。然而由于嵌入式软件的特殊性,如实时性强、与硬件紧密相关、访问硬件麻烦,在开发环境下模拟整个系统存在困难性,这使得测试一直是个难点,特别是单元测试,由于项目周期不允许,一些嵌入式软件没有进行单元测试或单元测试不彻底;有些嵌入式软件代码具有较高的耦合性,使单元测试难以进行;测试人员对于嵌入式软件单元测试过于依赖自动化测试工具,使测试效果不能令人满意,测试不规范,效率低,且无法确保嵌入式软件单元测试的充分性和有效性。依据FPGA软件生命周期模型中,代码检查是测试的第一道门户,这道门户检查质量的好坏不仅对代码本身质量带来影响,而且对后续工作产生很大影响,后续各个环节出现问题都会反馈回代码本身,产生反复的迭代工作。因此,只有尽早的在设计阶段中完成代码检查,才越能减少后续的设计工作重复性,减轻后续工作的压力。代码检查要比仿真投入时间少得多,效率更高,从早期的设计阶段开始代码检查能够避免错误发生,能在修改设计和功能仿真所带来的影响和成本还可见的时候,指出设计中各种隐藏的问题,降低设计返工带来的风险。评价FPGA软硬件的一种常用方法是基准测试,然而构造一个对FPGA软硬件性能精确合理的基准测试是十分复杂困难的事情,且差的基准测试规范将导致不确定的甚至是错误的结果。系统测试是软件开发过程中的重要环节。FPGA软硬件性能的测试方法变得十分复杂。基准测试是用一个基准设计集按照统一的测试规范评估和量化目标系统的软件或硬件性能,是目前计算机领域应用最广泛、最主要的性能测试技术。FPGA软件测试常用方法可分为动态测试和静态测试,只有动态测试和静态测试有效结合,才能更好的完成软件测试工作。代码审查是软件静态测试中常用的软件测试方法之一。代码审查是在不执行软件的条件下有条理的仔细审查软件代码,从而找出软件度量元缺陷的过程。代码审查可以找出动态测试难以发现或隔离的软件度量元缺陷。在开发过程初期让测试人员集中精力进行软件代码审查非常有价值:可以提高代码质量;在项目的早期发现度量元缺陷,将损失降至最低;促进团队沟通、促进知识共享、共同提高。通过代码审查,可以确定有问题或者容易产生软件度量元缺陷的特性范围。代码审查过程通常可分为:代码审查策划阶段、代码审查实施阶段以及代码审查总结阶段。测试的主要评测方法包括覆盖和质量。测试覆盖是对测试完全程度的评测,它建立在测试覆盖基础上,测试覆盖是由测试需求和测试用例的覆盖或已执行代码的覆盖表示的。质量是对测试对象(系统或测试的应用程序)的可靠性、稳定性以及性能的评测。静态分析一般采用静态分析工具进行,主要分析软件的代码规模、模块数、模块调用关系、扇入、扇出、圈复杂度、注释率等软件质量度量元。静态分析的结果能够帮助测试人员从代码内部结构信息中开展工作,帮助质量管理人员从软件质量度量中进行质量监督。通过对软件静态分析的总结,可以从降低代码的圈复杂度和提高代码的注释率两方面提高软件代码质量。圈复杂度是应用最广泛的静态度量之一,用来衡量一个函数判定结构的复杂程度,圈复杂度公式V(G)=P+1,P是代码中判定结点的数量。程序的可能存在错误数和圈复杂度有着很大的相关性,圈复杂度越大代表程序代码的质量低并且难以维护和测试。动态测试过程中无法及时提供测试运行所需的真正目标机及其操作系统,必须正确配置开启仿真模拟器并将其作为虚拟目标机,将Testbed经过编译环境链接后生成的测试驱动程序下载到仿真模拟器中运行。自动化静态分析存在一定的机械性,测试人员需逐项进行分析确认出真正的问题所在。在测试工作中,需要接触到各种类型的测试工具。测试工具可划分为:支持对程序源代码进行静态规则检查和质量评估的静态分析工具,研究人员需要开发高质量的数据库和环境,并允许具负责任的人员存取高质量数据库。一般来说,有以下一些类型的工具:测试管理工具:可以帮助完成测试计划、跟踪测试运行结果等的工具。这类工具还包括有助于需求、设计、编码测试及度量元缺陷跟踪的工具。静态分析工具:分析代码而不执行代码。这种工具检测某些度量元缺陷比用其它方法更有效,开销也更小。这种工具一般可以度量代码的各种指标,如McCabe测定复杂度,Logiscope度量代码和规范的复合度等等。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西南电子技术研究所(中国电子科技集团公司第十研究所),未经西南电子技术研究所(中国电子科技集团公司第十研究所)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710405699.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:摄像头参数的配置方法及装置
- 下一篇:一种测试用例文件生成方法及装置