静态代码分析工具Logiscope软件PPT课件

  • 格式:ppt
  • 大小:3.29 MB
  • 文档页数:73

下载文档原格式

  / 73
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

规则描述
Audit的功能描述
• 检查代码错误,定位错误模块。 • 根据质量模型评估软件质量和软件复杂度。 • 图示化整个软件的框架结构以及模块调用图 和控制流图。 • 自动生成评估报告。
Audit工作原理图
Audit分析功能
Audit采用的是包括软件质量标准化组织制定 的ISO9126模型在内的质量模型。质量模型描述了 从Halstead、McCabe的质量方法学引入的质量因素、 质量准则和质量度量元。本模型是一个三层的结构 组织:
和 特殊性 Function 可分析性;可修改性;稳定性;可测试性;关系调用
可分析性;关系调用稳定性;关系调用易测性
可分析性
质量准则
度量元
可修改性
质量准则
度量元
稳定性
质量准则 度量元
可测试性
质量准则
度量元
三、质量度量元
分三个层次描述: (由于太多举例说明)
• Application:应用 Ap_line 、 Ap_vg 、Ap_cg_maxdeg
5.0
Code review
10.0
Integration test
3.0
Acceptance tests
2.0
RuleChecker概述
• RuleChecker根据业界标准和经验预定义了编程规 则和命名检验规则。 • 用户可以用脚本语言Tcl或Perl 来定义新的规 则。 • 与开发环境集成的功能。 • 能够自动生成检查报告。
结果分析
• 生成程序的违反规则清单 •具体违反规则的程序行 • 生成一个违反规则的报告(HTML文件)
结果界面
建立一个RuleChecker工程
Baidu Nhomakorabea
工程设置窗口
以规则分类的规则描述和源程序
如何以文件分类
按文件分类的规则描述和源程序
结果列表和源程序
生成结果的报告
按文件分类
按规则分类
综合的报表
软件开发的周期
Logiscope产品的三个功能块
• Audit静态质量模型度量分析功能 • RuleChecker语法规则分析功能 • TestChecker动态覆盖率测试功能
开发过程中的 Logiscope
RuleChecker TestChecker
编码
测试
代码评审
维护
Audit RuleChecker
Logiscope广泛应用
目前,LOGISCOPE产品在全世界的26个国家的 众多国际知名企业得到了广泛的应用,其用户涉及通 讯、电子、航空、国防、汽车、运输、能源及工业过 程控制等众多领域。
欧洲的卫星生产厂商Matla Marconi Space; 直升机生产厂商Eurocopter; 世界最大的粒子物理研究实验室CERN; 航空航天领域有Aérospatiale, Alcatel Space, Boeing,
• Classes:类 Cl_bcob、 Cl_wmc、 In_bases
可维护性
质量因素
质量准则
可重用性
质量因素
质量准则
关系调用可维护性
关系调用可维护性
质量因素
关系调用 关系调用 关系调用 可分析性 稳定性 可测试性
质量准则
二、质量准则
从应用层可以分为: Application: 可分析性;可修改性;稳定性;可测试性 classes: 可分析性;可修改性;稳定性;可测试性;可重用性
Telelogic Tau Logiscope
Telelogic Tau Logiscope
技术培训
LOGISCOPE简介
LOGISCOPE是法国Telelogic公司推出的专用于 软件质量保证和软件测试的产品。其主要功能是对 软件做质量分析和测试以保证软件的质量,并可做 认证和维护,特别是针对要求高可靠性和高安全性 的软件项目和工程。
!
易出现错误的模块通常复杂度较高, 组织结构较少
如何减少成本、保证可靠性
• 在开发过程中应当尽可能早地通过对源代码的检查 发现缺陷 •减少成本和发现缺陷是密不可分的
–缺陷率越低,开发周期越短
•组织代码审核定位易产生错误的模块.
Coding Testing Maintenance
Cost of Repair
Audit
代码评审的优点
•显示隐藏的复杂性. •减少将来的维护成本. •节省时间.
提高质量
代码审核发现错误比例
通过代码审核能够发现大部分的错误
Discovery activity
Faults found / 1000 lines of code
Requirement review
2.5
Design review
a. 质量因素[Factor] b. 质量准则[Criteria] c. 质量度量元[Metrics]
质量模型的三层结构组织
测试者角度
用户角度 开发者角度
一、质量因素
从应用层可以分为: Application: 可维护性 classes: 可维护性;可重用性 Function 可维护性;关系调用可维护性
RuleChecker规则设计的目的
• 限定怎样使用编程语言 • 提高代码的易懂性 • 提高代码的可分析性 • 预防维护阶段的问题
RuleChecker检测错误特点
•自动的代码规则检查 •自动的编程风格检查
代码规则检查
• 防止语言陷阱 • 防止误解 • 规则举例:
–if(x=y){}被禁止, 因为容易和 if(x==y){}混淆 –多重赋值例如 x=y=z 产生混乱 –在循环内部更改循环计数器是危险的,例如 for (x=o;x<10;x++) {x--,}
编程风格检查
• 更容易的识别标识符 • 赋予代码必须的易读性和可变性,使其能够容 易且低风险的维护 • 规则举例
–对于一个全局变量, 首字母应当大写, 其它的用小写 –homonyms are not authorized
RuleChecker工作原理
如何创建或修改规则
以文本形式编写规则文件,命名为.cfg文件。 可以对存在的规则进行修改。(不建议)
CNES, Northrop Grumman等国际著名公司; IBM; TI;GE;McDonnell Douglas;EDS; SAIC; EXXON; PHILIPS; 国内有华为、中兴、航天部等单位。
软件开发的目标
• 符合需求 • 减少成本 • 改善可靠性
如何减少成本、保证可靠性
• 80% 的错误出现在20%的程序模块中