1、Telelogic TauLogiscope技术培训技术培训Telelogic Tau Logiscope LOGISCOPE是法国Telelogic公司推出的专用于软件质量保证和软件测试的产品。其主要功能是对软件做质量分析和测试以保证软件的质量,并可做认证和维护,特别是针对要求高可靠性和高安全性的软件项目和工程。LOGISCOPE简介 目前,LOGISCOPE产品在全世界的26个国家的众多国际知名企业得到了广泛的应用,其用户涉及通讯、电子、航空、国防、汽车、运输、能源及工业过程控制等众多领域。Logiscope广泛应用 欧洲的卫星生产厂商Matla Marconi Space;直升机生产厂商
2、Eurocopter;世界最大的粒子物理研究实验室CERN;航空航天领域有Arospatiale,Alcatel Space,Boeing,CNES,Northrop Grumman等国际著名公司;IBM;TI;GE;McDonnell Douglas;EDS;SAIC;EXXON;PHILIPS;国内有华为、中兴、航天部等单位。符合需求 减少成本 改善可靠性软件开发的目标 80%的错误出现在20%的程序模块中易出现错误的模块通常复杂度较高,组织结构较少如何减少成本、保证可靠性CodingTestingMaintenance 在开发过程中应当尽可能早地通过对源代码的检查发现缺陷减少成本和发现缺
3、陷是密不可分的缺陷率越低,开发周期越短组织代码审核定位易产生错误的模块.如何减少成本、保证可靠性软件开发的周期 Audit静态质量模型度量分析功能 RuleChecker语法规则分析功能 TestChecker动态覆盖率测试功能Logiscope产品的三个功能块开发过程中的 Logiscope显示隐藏的复杂性.减少将来的维护成本.节省时间.提高质量代码评审的优点Discovery activityFaults found/1000lines of codeRequirement review2.5Design review5.0Code review10.0Integration test3.
4、0Acceptance tests2.0通过代码审核能够发现大部分的错误代码审核发现错误比例 RuleChecker根据业界标准和经验预定义了编程规则和命名检验规则。用户可以用脚本语言Tcl或Perl 来定义新的规则。与开发环境集成的功能。能够自动生成检查报告。RuleChecker概述 限定怎样使用编程语言 提高代码的易懂性 提高代码的可分析性 预防维护阶段的问题RuleChecker规则设计的目的自动的代码规则检查自动的编程风格检查RuleChecker检测错误特点 防止语言陷阱 防止误解 规则举例:if(x=y)被禁止,因为容易和 if(x=y)混淆多重赋值例如 x=y=z 产生混乱在循
5、环内部更改循环计数器是危险的,例如 for(x=o;x10;x+)x-,代码规则检查 更容易的识别标识符 赋予代码必须的易读性和可变性,使其能够容易且低风险的维护 规则举例对于一个全局变量,首字母应当大写,其它的用小写homonyms are not authorized编程风格检查RuleChecker工作原理 以文本形式编写规则文件,命名为.cfg文件。可以对存在的规则进行修改。(不建议)如何创建或修改规则 生成程序的违反规则清单具体违反规则的程序行 生成一个违反规则的报告(HTML文件)结果分析结果界面建立一个RuleChecker工程工程设置窗口以规则分类的规则描述和源程序如何以文件分
6、类按文件分类的规则描述和源程序结果列表和源程序生成结果的报告按文件分类按规则分类综合的报表规则描述Audit的功能描述 检查代码错误,定位错误模块。根据质量模型评估软件质量和软件复杂度。图示化整个软件的框架结构以及模块调用图和控制流图。自动生成评估报告。Audit工作原理图a 质量因素Factor b 质量准则Criteriac 质量度量元Metrics Audit采用的是包括软件质量标准化组织制定的ISO9126模型在内的质量模型。质量模型描述了从Halstead、McCabe的质量方法学引入的质量因素、质量准则和质量度量元。本模型是一个三层的结构组织:Audit分析功能 用户角度用户角度开
7、发者角度开发者角度测试者角度测试者角度质量模型的三层结构组织一、质量因素从应用层可以分为:Application:可维护性 classes:可维护性;可重用性 Function 可维护性;关系调用可维护性 可维护性质量因素质量准则可重用性质量因素质量准则关系调用可维护性关系调用可分析性关系调用稳定性关系调用可测试性关系调用可维护性质量因素质量准则二、质量准则从应用层可以分为:Application:可分析性;可修改性;稳定性;可测试性 classes:可分析性;可修改性;稳定性;可测试性;可重用性和 特殊性 Function 可分析性;可修改性;稳定性;可测试性;关系调用可分析性;关系调用稳定
8、性;关系调用易测性 可分析性质量准则度量元可修改性质量准则度量元 稳定性质量准则度量元 可测试性质量准则度量元三、质量度量元分三个层次描述:(由于太多举例说明)Application:Application:应用应用 Ap_line、Ap_vg、Ap_cg_maxdeg Classes:类类 Cl_bcob、Cl_wmc、In_basesFunction:函数函数 Ct_goto、Ct_break、Ct_vg、Dc_calle、Dc_calli 可清楚分析和观察每个应用、类和函数中 的质量度量元的数值,判断其是否合法。分析质量度量元 可定性的分析和判断质量因素所必须遵循的质量准则的等级数和度量
9、值。分析质量准则 针对系统、类和函数这三个层次,分别定性的、分等级的分析质量因素的合格性。分析质量因素 LOGISCOPE根据质量模型,生成相应的软件质量分析评估报告(HTML形式)。质量分析报告 控制流图显示算法的逻辑路径。其图形表示适用于评价函数的复杂性。控制流程图控制流图用图形化的方式表示程序中每个函数的逻辑结构ifDead codeendifl指出设计缺陷滥用GOTO,代码重复,无组织的 switch,死代码等.l通过图形指示对应到源代码控制流图基础图例一控制流图基础图例二switchBreak is missing in the default casebreakreturnl指出设
10、计缺陷滥用GOTO,代码重复,无组织的 switch,死代码等.l通过图形指示对应到源代码控制流图用图形化的方式表示程序中每个函数的逻辑结构 调用图显示过程和函数之间的关系,非常适用于检查应用系统的设计。程序调用图简单调用直接递归调用间接递归调用调用方式l指出设计缺陷缺乏层次递归调用:直接和间接的资源危机(被众多的组件调用)等等.l通过图形指示对应到源代码mainresetdummyscorefind_digitformat_outputskiplinepromptgetcodplayramrommake_codprint调用关系图调用关系图用图形化的方式表示程序的调用结构 Kiviat图使质量等级与所选择的参考之间的一致性对比更加可视化。Kiviat图边界值边界值出界值出界值界内值界内值当前值当前值不可计算值不可计算值Kiviat图解建立一个Audit工作区定位源程序选择质量模型选择编译器建立完成Viewer主界面打开工作区函数列表控制图伪代码源函数度量元质量图准则质量图调用图系统质量图Q&A祝您成功!