CN103514094A - 基于灰盒的cpu在线测试方法 - Google Patents

基于灰盒的cpu在线测试方法 Download PDF

Info

Publication number
CN103514094A
CN103514094A CN201310473086.5A CN201310473086A CN103514094A CN 103514094 A CN103514094 A CN 103514094A CN 201310473086 A CN201310473086 A CN 201310473086A CN 103514094 A CN103514094 A CN 103514094A
Authority
CN
China
Prior art keywords
cpu
line testing
test
result
method based
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310473086.5A
Other languages
English (en)
Other versions
CN103514094B (zh
Inventor
袁跃峰
张小林
林先贤
赵磊
严文煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI FITSCO INTELLIGENT TRAFFIC CONTROL CO Ltd
Original Assignee
SHANGHAI FITSCO INTELLIGENT TRAFFIC CONTROL CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI FITSCO INTELLIGENT TRAFFIC CONTROL CO Ltd filed Critical SHANGHAI FITSCO INTELLIGENT TRAFFIC CONTROL CO Ltd
Priority to CN201310473086.5A priority Critical patent/CN103514094B/zh
Publication of CN103514094A publication Critical patent/CN103514094A/zh
Application granted granted Critical
Publication of CN103514094B publication Critical patent/CN103514094B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种基于灰盒的CPU在线测试方法;包括以下步骤:设定安全计算机语言代码规则;提取CPU功能相关的最小语言子集;产生CPU功能测试用例;生成目标代码;在所测试的CPU上运行,产生测试结果;在另一个CPU上比较结果;在另一个CPU上存储所期望的结果;判断测试结果与所期望的结果是否一致;如一致则判定CPU功能正常,继续运行;如不一致则判定***故障处理。本发明使用高级计算机语言实现对CPU功能的在线检查,提高测试代码的可移植性与可读性;兼顾了CPU功能层,以及所真实使用到的指令和寄存器的全面覆盖;不需要关闭中断,不需要在自检前后保存和恢复CPU内部状态,不会对CPU当前状态造成破坏。

Description

基于灰盒的CPU在线测试方法
技术领域
本发明属于软件算法领域,用于在线检测CPU执行功能的正确性。
背景技术
在工业控制***和安全信号***(应用于航空电子、铁路信号、核电等行业)中,中央处理器CPU确立了核心控制地位,对于保证***的安全可靠有着极其重要的作用。为了确保CPU能正确执行功能任务,必须对CPU进行周期性监控。当有异常发现时,要启动故障管理机制,及时采取安全措施以避免更为严重的事故发生。安全领域对于CPU检测一直是业界的难点,通常的做法如图1所示。
现有的方法是对CPU的内部资源做检测,比如寄存器组,算术逻辑单元等。但这种方法缺点如下:
1.由于目前CPU的集成度越来越高,内部结构越发复杂,对CPU内部做操作可能带来不可预测的风险.
2.在***运行过程中对于CPU做测试常常需要关闭中断,影响安全***正常的工作和实时响应能力。
3.CPU自己对本身的检测结果不可信,如果CPU本身发生故障,测试结果需要自己判断,这有不可预测性。
4.CPU测试用例通常会用底层汇编代码实现,由于需要考虑不同架构的CPU,可移植性差,在不同的CPU上需要写不同的测试程序。
发明内容
本发明所要解决的技术问题是提供一种基于灰盒的CPU在线测试方法,它可以使用高级计算机语言实现对CPU功能的在线检查,提高测试代码的可移植性与可读性。
为了解决以上技术问题,本发明提供了一种基于灰盒的CPU在线测试方法;包括以下步骤:设定安全计算机语言代码规则;提取CPU功能相关的最小语言子集;产生CPU功能测试用例;生成目标代码;在所测试的CPU上运行,产生测试结果;在另一个CPU上比较结果;在另一个CPU上存储所期望的结果;判断测试结果与所期望的结果是否一致;如一致则判定CPU功能正常,继续运行;如不一致则判定***故障处理。
本发明的有益效果在于:使用高级计算机语言实现对CPU功能的在线检查,提高测试代码的可移植性与可读性;兼顾了CPU功能层,以及所真实使用到的指令和寄存器的全面覆盖;不需要关闭中断,不需要在自检前后保存和恢复CPU内部状态,不会对CPU当前状态造成破坏。
优选的,首先针对CPU功能错误进行分类,选取相应的在线测试集合。
优选的,可以在两个CPU之间相互执行在线测试。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1是现有检测CPU执行功能的示意图;
图2是本发明所述方法的示意图;
图3是本发明所述对CPU功能在线测试过程与结果监控的示意图。
图4是本发明所述方法在二取二表决模型安全计算机中的典型应用示意图。
具体实施方式
本发明提供一种基于灰盒测试的CPU在线测试方法,该算法能够应用于包括但并不局限于安全信号***、工业控制***等领域。本发明对上述算法做了更高层次的算法改进,克服了现有技术的缺点,又能达到覆盖CPU功能故障的目的。
灰盒(Gray Box)是一种程序或***上的工作过程被局部认知的装置。灰盒测试,也称作灰盒分析,是基于对程序内部细节有限认知上的软件调试方法。测试者可能知道***组件之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。对于内部过程,灰盒测试把程序看作一个必须从外面进行分析的黑盒。
灰盒测试由于不需要测试者接触源代码,因此灰盒测试不存在侵略性和偏见。开发者和测试者间有明显的区别,人事冲突的风险减到最小。然而,灰盒测试相对白盒测试更加难以发现并解决潜在问题,尤其在一个单一的应用中,白盒测试的内部细节可以完全掌握。灰盒测试结合了白盒测试盒黑盒测试的要素。它考虑了用户端、特定的***知识和操作环境。它在***组件的协同性环境中评价应用软件的设计。灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识盒与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。
本发明整个算法如下图2所示。
具体算法可以分三个阶段:
第一阶段是针对CPU功能错误进行分类,选取相应的高级计算机语言中的在线测试集合;第二阶段是对CPU功能在线测试过程与结果监控的方法。第三阶段是对CPU功能在线测试用例覆盖率的确定与补充。
阶段一:
CPU通用功能错误如下:
Figure BDA0000394199260000041
表1
针对CPU通用功能错误,采用了以下的高级计算机语言(c/c++,Ada等)功能子集来做测试:
Figure BDA0000394199260000042
Figure BDA0000394199260000051
表2
阶段二如图3所示。
本算法在二取二表决模型2oo2(2out of2voting)安全计算机中的典型应用如图4所示。
阶段三:
把实现的目标代码转成汇编码,比对在线自检所用到的CPU指令与寄存器,确定覆盖率。如有极少量未覆盖的指令或寄存器,可另外针对性地增加相应的测试用例,保证其全部覆盖。
本发明的优点是:
1.使用高级计算机语言实现对CPU功能的在线检查,提高测试代码的可移植性与可读性。
2.兼顾了CPU功能层,以及所真实使用到的指令和寄存器的全面覆盖。
3.不需要关闭中断,不需要在自检前后保存和恢复CPU内部状态,不会对CPU当前状态造成破坏。
通过两个CPU互相监控,能有效监控到单个CPU功能的失效。
本发明并不限于上文讨论的实施方式。以上对具体实施方式的描述旨在于为了描述和说明本发明涉及的技术方案。基于本发明启示的显而易见的变换或替代也应当被认为落入本发明的保护范围。以上的具体实施方式用来揭示本发明的最佳实施方法,以使得本领域的普通技术人员能够应用本发明的多种实施方式以及多种替代方式来达到本发明的目的。

Claims (3)

1.一种基于灰盒的CPU在线测试方法;其特征在于,包括以下步骤:
设定安全计算机语言代码规则;
提取CPU功能相关的最小语言子集;
产生CPU功能测试用例;
生成目标代码;
在所测试的CPU上运行,产生测试结果;
在另一个CPU上比较结果;
在另一个CPU上存储所期望的结果;
判断测试结果与所期望的结果是否一致;
如一致则判定CPU功能正常,继续运行;
如不一致则判定***故障处理。
2.如权利要求1所述的基于灰盒的CPU在线测试方法;其特征在于,首先针对CPU功能错误进行分类,选取相应的在线测试集合。
3.如权利要求1所述的基于灰盒的CPU在线测试方法;其特征在于,在两个CPU之间相互执行在线测试。
CN201310473086.5A 2013-10-11 2013-10-11 基于灰盒的cpu在线测试方法 Active CN103514094B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310473086.5A CN103514094B (zh) 2013-10-11 2013-10-11 基于灰盒的cpu在线测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310473086.5A CN103514094B (zh) 2013-10-11 2013-10-11 基于灰盒的cpu在线测试方法

Publications (2)

Publication Number Publication Date
CN103514094A true CN103514094A (zh) 2014-01-15
CN103514094B CN103514094B (zh) 2016-05-04

Family

ID=49896852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310473086.5A Active CN103514094B (zh) 2013-10-11 2013-10-11 基于灰盒的cpu在线测试方法

Country Status (1)

Country Link
CN (1) CN103514094B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045696A (zh) * 2015-09-02 2015-11-11 中国航空工业集团公司航空动力控制***研究所 一种cpu检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505342B1 (en) * 2000-05-31 2003-01-07 Siemens Corporate Research, Inc. System and method for functional testing of distributed, component-based software
CN101620566A (zh) * 2009-07-23 2010-01-06 北京航空航天大学 一种动态随机测试方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505342B1 (en) * 2000-05-31 2003-01-07 Siemens Corporate Research, Inc. System and method for functional testing of distributed, component-based software
CN101620566A (zh) * 2009-07-23 2010-01-06 北京航空航天大学 一种动态随机测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘少雄: "嵌入式计算机的BIT设计与实现", 《计算机工程》, vol. 34, 30 September 2008 (2008-09-30) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045696A (zh) * 2015-09-02 2015-11-11 中国航空工业集团公司航空动力控制***研究所 一种cpu检测方法
CN105045696B (zh) * 2015-09-02 2018-08-07 中国航空工业集团公司航空动力控制***研究所 一种cpu检测方法

Also Published As

Publication number Publication date
CN103514094B (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
Dubrova Fault-tolerant design
CN103383722B (zh) 一种结合产品和过程的软件安全性举证开发方法
Yoo et al. Smart support system for diagnosing severe accidents in nuclear power plants
Pilch et al. Ideas underlying the quantification of margins and uncertainties
CN109918049A (zh) 基于形式化验证的软件开发模型的验证方法
CN103853871A (zh) 一种适用于航电***的安全需求建模方法
Huang Human error analysis in software engineering
Kang et al. Concept of an intelligent operator support system for initial emergency responses in nuclear power plants
Ben-Yair et al. AI & eBPF based performance anomaly detection system
Cha et al. A safety-focused verification using software fault trees
CN103514094B (zh) 基于灰盒的cpu在线测试方法
Li et al. Safety analysis of software requirements: model and process
Zalewski et al. Safety of computer control systems: challenges and results in software development
Medikonda et al. A framework for software safety in safety-critical systems
Lutz et al. Requirements discovery during the testing of safety-critical software
Medikonda et al. An approach to modeling software safety in safety-critical systems
Groth et al. A model-based approach to HRA: example application and quantitative analysis
Cardoso et al. Extending Attack-Fault Trees with Runtime Verification
Xie et al. Study on the application of health management techniques in aerospace testing software
Del Gobbo et al. Experience in developing system requirements specification for a sensor failure detection and identification scheme
He et al. Architecture design and safety research of a double-triple-channel redundant and fault-tolerant system
Jiang et al. A Review of Software Reliability Testing Techniques
Kong et al. A similarity-based remaining useful life prediction method using multimodal degradation features and adjusted cosine similarity
CN113917859B (zh) 一种雷达伺服***复杂安全逻辑链路模型构建方法
Neufelder Software FMEA and the common Defect Enumeration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant