1,历史背景
功能安全的概念首先起源于20世纪60-70年代的航空领域和核技术领域。到了20世纪70-80年代时,由于当时在世界范围内,尤其是石油化工领域多次发生爆炸或污染泄露事情。事故发生的主要原因是因为控制系统相关安全功能失效导致的,而造成功能失效的很重要的一点是由于电子/电气/可编程控制器产品自身安全功能的不完善。为了提高电子电气控制器的安全性能,制定一套可行的安全技术标准迫在眉睫,经过业内专家的积极参与,国际电工委员会(International Electrotechnical Commission-IEC)在1998年颁布了IEC61508-功能安全标准。
2,相关安全标准
IEC61508-功能安全标准是很多行业通用的国际基础安全标准,在不同领域得到了发展和应用。比如在过程控制行业的IEC61511标准,在核电领域的IEC61513标准。还有就是专门针对道路车辆功能安全的ISO26262标准。
ISO26262是IEC61508标准在汽车行业中的具体应用,2009年出版初稿,2011年11月正式颁布。ISO26262的核心价值在于,它可以通过系统的功能安全研发管理流程,以及针对汽车电子控制器系统/硬件/软件的系统化验证和确认方法,保证电子系统的安全功能在面对各种严酷条件时不失效,从而保证驾驶员和路人的安全。
从技术上来说,随着汽车技术的发展,车载电子控制器的数量日益增多,比如某些豪车上有上百个控制器,几千组总线信号,保证其安全的重要性不言而喻。
另外,从法律上来说,这也是必要的,如德国的相关法规还规定假如失效的产品达到了当前最新的技术是可以免责的。因此贯彻ISO26262的标准不仅可以提升安全性能和产品内在价值,也提升产品的竞争力。
LDRA提供的技术与服务已成功地应用于多个领域数百个项目,加速了苛刻性软件开发、验证和审定。LDRA软件测试套件可贯穿于整个软件开发生命周期并支持整个软件项目团队成员包括项目经理、系统工程师、软件开发工程师、QA工程师、测试和维护工程师等日常使用。 LDRA软件测试套件功能强大、全面、易于使用,不仅适合于主机平台软件质量保证和软件测试,同时适合于嵌入式软件的软件质量保证和软件测试,已成功地应用于国内、外各大研究机构、软件测试部门。
LDRA代码分析软件,主要分为三个模块,代码的静态分析,动态测试(单元测试,集成测试,系统级测试),对于需求的追踪和管理组件。
LDRA的静态测试模块TBvision
TBvision在静态分析时,主要进行静态检查、复杂度分析、静态数据流分析。TBvision中已经列出静态测试所需要的步骤。用户可以选择单个文件或者多个文件以集合的形式进行测试,并且在进行静态测试前,用户可以根据需要需要进行分析范围的配置。最终得到:
1、 流程图报告:会把所有项目中函数调用情况,走向/关系列出来。
2、 内部流程图(比如在查看覆盖率时。可以直接通过流程图看出覆盖情况)
3、 代码符合性检查报告以及质量报告代码:工具中集成了一些常用的标准,用户可以在分析之初选择不同的标准,或者在分析结束后重新选择来生成符合性检查报告。质量报告主要从清晰性,测试性,可维护性这三个角度来对代码进行评审
TBvision中得到的分析结果可直接在LDRA动态测试中使用,避免了用户更换工具所带来的不便。
LDRA的动态测试模块TBrun
TBrun动态分析主要分为三个方面,单元测试、集成测试、系统测试。最终达到功对能的验证、覆盖率测试。TBrun所提供的自动化的单元测试功能,能够帮助开发人员避免在软件开发后期或系统集成测试阶段发现软件缺陷而带来的延误和成本。TBrun使用Testbed全面的控制流和数据流的分析结果,并从中提取出有关单元的接口、参数、全局变量(输入和输出)、返回值、变量类型以及使用类型和函数调用的详细信息。通常情况下信息需要具有单元测试专业知识的开发人员来确定,凭借自动完成此过程。TBrun帮助释放了具备高素质的员工,他们可以把他们的时间分配到建模、设计和开发任务中。
LDRA对于需求的追踪和管理组件TBmanager
作为标准认证,自动化软件验证,源代码分析和测试工具领域领导者的LDRA公司,已经为TBmanage申请了专利,它的主要功能是软件生命周期追踪和系统验证。TBmanager使得开发者可以双向验证工业标准,功能需求,设计,代码和测试。通过协助定义,强制执行和验证一个可理解的工作流,TBmanager为企业提供所需的审计,保持与安全关键标准的一致 性。
LDRA软件测试套件可为软件开发过程中所创建的需求规格说明、源代码、验证计划及验证结果构建追踪关联并创建需求追踪矩阵(RTM),需求可来源于需求管理工具如IBM DOORS、Visure IRQA、IBM RequistePro,亦可为Microsoft Word文档或Excel表单等。需求追踪矩阵可由LDRA软件测试套件验证并映射到分析过的源代码,或映射到相关模型开发工具如MathWorks Simulink、IBM Rhapsody、Esterel SCADE及Arttisan Studio等。