CN116679606A - 基于Delta-Debugging的列车运行控制系统故障定位方法 - Google Patents
基于Delta-Debugging的列车运行控制系统故障定位方法 Download PDFInfo
- Publication number
- CN116679606A CN116679606A CN202310966409.8A CN202310966409A CN116679606A CN 116679606 A CN116679606 A CN 116679606A CN 202310966409 A CN202310966409 A CN 202310966409A CN 116679606 A CN116679606 A CN 116679606A
- Authority
- CN
- China
- Prior art keywords
- test
- test case
- ctcs
- mode
- fault
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012360 testing method Methods 0.000 claims abstract description 350
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000003993 interaction Effects 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 2
- 238000001514 detection method Methods 0.000 abstract description 12
- 238000002347 injection Methods 0.000 abstract description 4
- 239000007924 injection Substances 0.000 abstract description 4
- 238000002474 experimental method Methods 0.000 abstract description 2
- 238000004088 simulation Methods 0.000 description 8
- 238000010998 test method Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012353 t test Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
- Y04S10/52—Outage or fault management, e.g. fault detection or location
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种基于Delta‑Debugging的列车运行控制系统故障定位方法,首先依据智能高速铁路临时限速场景的特点,建立CTCS自适应组合测试模型,然后根据覆盖维度和CTCS测试参数交互条件生成测试用例,通过自适应组合测试流程进行测试,得到的CTCS组合测试结果中,未通过测试的测试用例则转到故障定位阶段,采用Delta‑Debugging算法,生成附加测试用例;接着利用失败测试用例与通过测试用例间的差异生成关注模式,在附加测试用例和关注模式中使用约束处理策略,最终定位出最小故障模式。测试实验表明,本发明的故障定位方法故障检测率高,可有效降低CTCS故障注入组合测试成本,提高测试效率。
Description
技术领域
本发明属于故障定位技术领域,尤其涉及一种基于Delta-Debugging的列车运行控制系统故障定位方法。
背景技术
智能高速铁路装备了CTCS (Chinese Train Control Systems,中国列车控制系统) 3级和ATO (Automatic Train Operation,列车自动驾驶),具有运行速度快、行车密度大、自动化等级高、智能化水平高等特点,对于保障行车安全具有重要意义。智能高速铁路中,与CTCS交互的系统众多、信息类型丰富、设备配置复杂,对CTCS进行测试时,涉及到大量的参数组合。组合测试作为一种高效的测试方法,可通过建立被测系统的输入模型,在保证系统足够输入参数的基础上构造测试用例,能够高效、科学、系统地检测输入参数及其交互组合引发的系统故障。将组合测试方法应用于CTCS测试中,根据测试结果定位出MFS(Minimal Failure Schema, 最小故障模式),进而提升CTCS的测试效率,有助于提高CTCS的安全性。在组合测试方法中应用故障注入技术,模拟故障信息,分析系统响应,验证CTCS的功能和安全性,拥有测试成本低、测试速度快、测试灵活等优点。但由于智能高速铁路系统复杂,CTCS-3和ATO涉及的设备之间存在约束会导致系统产生无效的附加测试用例,甚至使系统进入死循环。因此,在存在约束情况下,如何准确定位出CTCS的MFS是亟待解决的问题。
发明内容
针对上述背景技术中指出的不足,本发明提供了一种基于Delta-Debugging的列车运行控制系统故障定位方法,旨在解决上述背景技术中现有技术存在的问题。
为实现上述目的,本发明采用的技术方案是:
一种基于Delta-Debugging的列车运行控制系统故障定位方法,首先依据智能高速铁路临时限速场景的特点,建立CTCS自适应组合测试模型,从设备、功能和数据通信三个方面分析各设备的故障现象,得出CTCS测试参数,然后根据覆盖维度和所述CTCS测试参数交互条件生成测试用例,通过测试用例生成与故障定位结合的自适应组合测试流程进行测试,得到的CTCS组合测试结果中,未通过测试的测试用例则转到故障定位阶段,采用Delta-Debugging算法,生成附加测试用例;对于在故障定位过程中生成的附加测试用例,将除失败测试用例之外的其他附加测试用例中的所有t-way模式设定为已被测试,其中t为覆盖维度,回到测试流程开始的阶段重复执行,直到所有的t-way模式都被测试;接着利用失败测试用例与通过测试用例间的差异生成关注模式,在附加测试用例和关注模式中使用约束处理策略,最终定位出最小故障模式。
优选地,所述CTCS自适应组合测试模型包括两条反馈回路,第一条由测试用例生成、测试用例执行和CTCS测试结果数据库组成,用于收集CTCS相应的测试策略,生成新的测试用例;第二条由CTCS组合测试模型建立、测试用例生成、测试用例执行和CTCS测试结果数据库组成,用于根据测试结果数据库中的信息修改参数取值和测试策略。
优选地,所述自适应组合测试流程如下:
输入:覆盖数组CA(N, t, k, v, C)
步骤1:根据输入覆盖数组CA生成测试用例集T并执行;
步骤2:获取失败测试用例集T fail ;
步骤3:生成附加测试用例集T addition ;
步骤4:若有测试用例执行成功且含有待测模式,更新测试用例集;
步骤5:若无测试用例执行成功或无待测模式,定位最小故障模式MFS,并删除包含最小故障模式的测试用例,更新测试用例集;
步骤6:若测试用例执行完毕,则结束此流程;
步骤7:若测试用例未执行完毕,则返回步骤1,重复此流程。
在组合测试中,使用CA(Covering Arrays,覆盖表)表示一个N×k的矩阵;在CA(N,t,k,v,C)中,N为测试用例集大小,t为覆盖维度,k为CTCS测试参数个数,v为CTCS测试参数取值,C为约束条件。
优选地,所述约束处理策略如下:在关注模式中,在生成通过测试用例之前,加入约束集,避免关注模式与约束相关;在生成附加测试用例时,避开约束集中的参数取值。
优选地,所述关注模式中约束处理伪代码如下:
输入:失败测试用例t fail=(fail 1, …,fail n ),故障模式集V related,关注模式集V;
步骤1:定义失败测试用例
步骤2:若故障模式集与通过测试用例不存在交集,则t pass是故障模式集与部分其他参数的合集;
步骤3:将通过测试集减去失败测试集,选择与通过测试集最相似的测试用例作为t pass;
步骤4:若t pass满足目标约束,则退出该流程;
步骤5:若t pass不满足目标约束,则返回步骤2,重复此流程。
优选地,所述附加测试用例中约束处理伪代码如下:
输入:失败测试用例t fail=(fail 1,…,fail n ),故障模式集V related,附加测试用例t addition;
步骤1:令V related为故障模式集添加失败测试用例;
步骤2:当前测试用例为故障测试集加部分无关参数;
步骤3:若测试用例满足约束,附加测试用例为当前测试用例加部分无关参数;
步骤4:若测试用例不满足约束,删除部分无关参数;
步骤5:若测试用例个数达到总失败测试用例个数,则跳出循环,输出附加测试用例集;
步骤6:若测试用例个数未达到总失败测试用例个数,则返回步骤2,重复该流程。
相比于现有技术的缺点和不足,本发明具有以下有益效果:
(1)本发明通过建立CTCS自适应组合测试模型,设计测试用例生成与故障定位结合的自适应组合测试流程,采用Delta-Debugging算法,增加约束处理策略,定位出最小故障模式,方法具有良好的有效性和准确性;
(2)与RI、TRT定位方法及基于频繁项关系矩阵的故障定位方法对比,本发明基于Delta-Debugging算法的故障定位方法在故障定位过程中recall-prceision值更高,且f- measure最大值可达95%,即故障检测率更高,可有效降低CTCS故障注入组合测试成本,提高测试效率;
(3)使用京张智能高速铁路仿真测试平台验证本发明的故障定位方法,实验结果表明,当列车运行控制系统存在约束情况时,2-way和3-way覆盖表中生成附加测试用例的数量分别比未经约束处理的测试用例减少了24%和21%;相比传统的故障定位方法,本发明的综合评价指标可达95%。该研究成果对于列车运行控制系统的安全性验证及功能优化可以提供一定的参考。
附图说明
图1是本发明实施例提供的智能高速铁路列车运行控制系统整体架构;
图2是本发明实施例提供的CTCS自适应组合测试模型;
图3是本发明实施例提供的CTCS实验测试结果;
图4是本发明实施例提供的增加约束前后附加测试用例个数对比图,图4 (a)为2-way测试用例检测2-MFS,图4 (b)为4-way测试用例检测2-MFS和3-MFS;
图5是本发明实施例提供的基于Delta-Debugging算法、RI、TRT、频繁项关系矩阵的定位方法故障检测率对比图,图5(a)为四种方法的recall-prceision曲线图,图5(b)为四种方法的f-measure对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
1、自适应组合测试模型构建
智能高速铁路CTCS的运营场景复杂多样,使用组合测试方法对CTCS进行测试时,输入参数取值之间存在相互作用,难以从故障现象推断出故障组合类型。使用测试用例生成与故障定位相结合的自适应组合测试方法,将故障参数注入到CTCS仿真测试平台中,生成测试用例和附加测试用例,进而定位CTCS故障组合。
1.1 CTCS测试基础
智能高速铁路列车运行控制系统整体架构如图1所示,为了准确地识别影响CTCS的参数组合,进而定位出MFS,考虑各个设备之间的信息传输关系以及临时限速命令下达过程,从设备、功能和数据通信三个方面分析各设备的故障现象,得出CTCS测试参数,如表1所示:
表1 智能高速铁路CTCS测试参数
1.2 故障定位相关定义
组合测试的相关定义:
(1)t-way覆盖表:在组合测试中,使用CA(Covering Arrays, 覆盖表)表示一个N×k的矩阵;在CA(N,t, k, v, C)中,N为测试用例集大小,t为覆盖维度,k为CTCS测试参数个数,v为CTCS测试参数取值,C为约束条件;
在覆盖表中,若v i 和v j 的二元有序对至少出现一次,则该覆盖表被称为2-way覆盖表,其中,i≠j;同理,t-way覆盖表中覆盖t个参数的取值组合至少出现一次。
(2) 测试用例:使用S k =[v 1, -,…,v i , -, …,v k ]表示k值模式,v i 表示参数V i 中的固定值,“-”表示其对应参数可以取任意值。当k=n时,k值模式自身就是一个测试用例。
CTCS的测试用例是从故障类型F 1-F n 各取一个参数,表示为T=[f 1(a), f 2(a), …,f i (a), …,f n (a)],其中,f i (a)表示CTCS中每个参数的具体取值。
根据测试需求,生成满足约束的测试用例,执行测试后,得到测试结果记为Z t ,测试通过的测试用例记为T pass ,测试失败的测试用例记为T fail ,其中,T fail =(fail 1, …,fail 8)。
(3)附加测试用例:当测试用例结果不满足故障定位需求时,需按一定方法生成附加测试用例T addition 。运行附加测试用例后,可能触发故障的值模式如式(1)所示:
(1)
其中,,M 1为T fail 中所有值模式的集合,即每个值模式都可能是MFS;设/>为T pass 中所有值模式的集合,M 2中每个值模式都不是MFS。
(4) 关注模式:将失败测试用例和与失败测试用例极为相似的通过测试用例的差异称为关注模式,关注模式即为引发系统故障的可能模式。
(5) 最小故障模式:如果SUT(System Under Testing,待测系统)中包含k值模式S k 的所有测试用例都能触发软件故障,同时S k 的任何子模式S l (l<k)总存在一个测试用例,它包含S l 并且执行通过,则把该k值模式称为最小故障模式MFS,记作k-MFS。
根据组合测试的特点,如果SUT有一个m-MFS,当使用t-way覆盖测试SUT时,如果m<t,则至少有a m+1×...×a t 条测试用例执行失败;如果m=t,则至少一条测试用例执行失败;如果m>t,则t-way测试能够检测到SUT故障的概率为。例如,若MFS是一个2-way模式,使用3-way测试,则应用至少有a 3条失败测试用例。为确保故障定位的准确性,可选择2-way测试用例定位2-MFS,3-way测试用例定位2-MFS和3-MFS,4-way测试用例定位出2-MFS、3-MFS和4-MFS。
1.3 自适应组合测试流程
CTCS自适应组合测试模型如图2所示,包括两条反馈回路,第一条由测试用例生成、测试用例执行和CTCS测试结果数据库组成,用于收集CTCS相应的测试策略,生成新的测试用例;第二条由CTCS组合测试模型建立、测试用例生成、测试用例执行和CTCS测试结果数据库组成,用于根据测试结果数据库中的信息修改参数取值和测试策略;其中,T代表一条测试用例,Z t表示测试结果。
在使用自适应组合测试方法定位故障参数时,需要生成一定数量的附加测试用例,这会大幅增加测试成本,并且已经定位到的MFS无需出现在之后的测试用例当中。为解决上述故障定位方法的缺陷,本发明在自适应测试的基础上,提出测试用例生成和故障定位结合的自适应组合测试流程,如表2所示:
表2 自适应组合测试流程
根据覆盖维度和CTCS测试参数交互条件生成测试用例,通过测试用例生成与故障定位结合的自适应组合测试流程进行测试,得到CTCS组合测试结果。未通过测试的测试用例则转到故障定位阶段,找出其包含的MFS;对于在故障定位过程中生成的附加测试用例,处理方法与测试用例生成阶段相同,即将除失败测试用例之外的其他附加测试用例中的所有t-way模式设定为已被测试。最后回到测试流程开始的阶段重复执行,直到所有的t-way模式都被测试。
2、CTCS故障定位方法
采用自适应组合测试方法对CTCS进行测试,需要根据测试结果,通过故障定位方法检测出引发CTCS故障的参数及其取值,即利用Delta-Debugging算法定位MFS,并使用约束处理策略避免CTCS输入参数间约束关系的影响。
2.1 Delta-Debugging故障定位算法
得到CTCS测试结果后,采用Delta-Debugging算法定位CTCS的故障,定位出致使故障发生的MFS。
先将初始失败测试用例与通过测试用例的差别模式作为关注模式,若生成的附加测试用例测试通过,则将关注模式作为与错误测试用例差别最小的正确模式,再比较它与最新的错误模式之间的差别;若测试失败,则将它作为与正确测试用例差别最小的错误模式,再比较它与最新的正确的模式之间的差别,重复该步骤,不断地将正确测试用例与错误测试用例之间的差异缩小,最终得到的故障模式。详细的Delta-Debugging故障定位算法如表3所示:
表3 Delta-Debugging故障定位算法伪代码
该算法主要包含四部分,1-3行为初始化过程,初始化故障模式集V related和暂时与系统故障无关的值模式V unrelated为空,并令临时测试用例t 1为失败测试用例t fail;4-8行为生成关注模式,在测试用例集里寻找与t fail最相似的通过测试用例t pass,该测试用例含有V related的参数值,若无,则在t 1的基础上保留V related的参数值,替换其他参数值,生成测试用例t pass,将t 1和t pass的差别模式作为关注模式;9-16行为Delta-Debugging定位过程,如果关注模式V的长度为1,此时V中的参数值就是与系统故障相关的参数值,否则,将V平均分为2等份,替换t 1中含V和V unrelated的参数值,生成附加测试用例t addition 并运行,若运行出错,则V unrelated =V unrelated+ V 2;17-23行为定位MFS的过程,在t 1基础上,保留V related中的参数值,替换其他参数值,生成附加测试用例并运行,若出错则退出,此时V related中参数值组成的模式就是MFS。
2.2 约束处理策略
由于CTCS涉及的参数众多,而系统故障率极低,输入参数间存在约束会在生成附加测试用例的过程中产生无效测试用例,影响测试效率。而上述方法仅考虑了一般情况下的故障定位,对存在约束的情形不能很好地表示,影响测试效率。因此针对CTCS临时限速场景的情况,增加约束覆盖数组来定位故障。
约束处理策略的选择体现在两个阶段:第一个阶段是在关注模式生成时,在生成通过测试用例之前,加入约束集,避免关注模式与约束相关,其约束处理伪代码如表4所示。第二个是在生成附加测试用例时,避开约束集中的参数取值,其约束处理伪代码如表5所示。
表4 关注模式中约束处理伪代码
如表4所示,在生成关注模式的过程中,t pass的生成和选择采取约束避免策略,即在未找到与t fail相似度最高的通过测试用例t pass,需要重新生成t pass的情况下,判断t pass中除V related之外的参数与已有参数之间的组合是否满足约束。
表5 附加测试用例中约束处理伪代码
如表5所示,在附加测试用例t addition生成阶段,需要保留V related而替换其他参数,实际是一个寻找最优参数值的过程,如果选择的某参数与已选择参数形成约束,那么对应的附加测试用例必然不是最佳测试用例,因此放弃该参数取值,遍历了所有参数位置之后,则生成并执行t addition。
3、实验测试验证
为了验证本发明提供的故障定位方法在实际系统中的有效性,结合CTCS组合测试流程,生成测试用例,并将测试用例注入到CTCS仿真测试平台后,根据测试结果,定位MFS。同时,将本发明算法与RI、TRT定位方法和具有频繁项关系矩阵的故障定位方法对比,验证本发明的故障检测率。
3.1 CTCS仿真测试
利用京张智能高速铁路CTCS仿真测试平台,结合现场线路数据和实际设备信息,生成满足测试需求的测试用例。当测试用例成功注入CTCS仿真测试平台后,失败测试用例会导致CTCS仿真测试系统的各子系统会给出相应的故障报警信息,甚至触发列车紧急制动。
实验过程中,提取CTCS临时限速场景中的故障类型测试,提取故障类型为:F 1={101, 102, 103, 104}、F 2={201, 202, 203, 204, 205}、F 3={301, 302, 303, 304,305}、F 4={401, 402, 403, 404}、F 5={501, 502, 503, 504}、F 6={601, 602, 603, 604,605, 606, 607}、F 7={701, 702, 703, 704}、F 8={801, 802, 803, 804}。根据测试用例和附加测试用例测试结果,生成MFS,如图3所示,测试结果包括测试用例的执行结果、相应维度的MFS以及其详细信息。图3中2-MFS {201, 501}表示{TSRS服务器故障,GRIS服务器故障}发生时,触发列车紧急制动。
3.2 故障定位结果
临时限速场景下,CTCS通过自适应组合测试流程生成测试用例,并通过增加约束处理后的Delta-Debugging算法定位MFS。以2-way测试用例为例,说明2-MFS计算过程,测试结果如表6所示。
表6 2-way测试用例测试结果
表6含有两个主列,左边代表测试用例,右边代表附加测试用例,从上至下代表执行顺序,两个阶段不断交替进行。首先,初始化测试用例t fail=t 1={102, 203, 301, 401,501, 601, 701, 802},初始化V related和V unrelated为空。然后,从覆盖表中找到一条与t 1相似度最高且含有V related中参数值的正确测试用例V related,令关注模式V=t 1-t pass1=(fail 5 )。接着,判断关注模式长度,length(V)=1,则fail 5就是故障模式中的一个参数值,V related=V related+ (fail 5)= (fail 5)替换其他参数值生成附加测试用例t addition1,若运行未出错,则该故障模式中还含有其他参数值。根据测试需求生成一条与t 1相似度最高,且含有V related中参数值的正确测试用例t pass1。令关注模式V= t 1-t pass2=(fail 2, fail 8 ),length(V)>1,将V划分为两个子模式,V 1=( fail 8),V 2=( fail 2)。将V 1和V unrelated中参数值替换生成附加测试用例t addition1。若运行t addition1出错,则令V=V 2=(fail 2),V unrelated=V unrelated+V 1=(fail 8)。此时,length(V)=1,说明fail 2是故障模式中的一个参数,V related=V related+(fail 2)=(fail 2,fail 5)。最后,在t 1基础上,保留V related中参数值,替换其他参数值,生成附加测试用例t addition2,运行t addition2出错,则V related的参数值组合就是测试用例t fail中引发系统故障的故障模式,即MFS={fail 2,fail 5}。
为确认CTCS中是否还有其他故障模式,在t 1基础上,替换错误模式中的参数,生成t addition3,若该测试用例运行没有出错,则说明该测试用例仅存在这一个故障模式。
当定位出测试用例T 2中的MFS为{201, 501}后,为减少故障定位次数,后续生成的测试用例都不包含此模式。此外,附加测试用例T4ʹ和T5ʹ为通过的测试用例,其中所包含的所有2-way模式都被认定为已被测试,在后续的测试用例生成中应尽少的包含它们。
为了深入研究CTCS存在约束情况下,仍能有效的定位故障,以京张高速铁路CTCS测试仿真平台为基础生成测试用例集,增加约束前后附加测试用例个数对比如图4所示,图4 (a) 为2-way测试用例检测2-MFS,图4 (b)为4-way测试用例检测2-MFS和3-MFS。实验结果表明,相比增加约束前,增加约束后生成的附加测试用例数量明显减少。当使用2-way覆盖表定位2-MFS时,从图4(a)中可明显看出,与增加约束前相比,增加约束后的附加测试用例箱体偏低,且生成附加测试用例的数量比增加约束前均值低24%,最大值和最小值均低于增加约束前。当使用4-way覆盖检测MFS时,由于覆盖表中可能同时存在2-MFS、3-MFS和4-MFS,因此需要生成的附加测试用例数量明显增加,但与增加约束前相比,增加约束后的附加测试用例数量明显减少,比增加约束前均值低21%。因此,生成测试用例时,考虑输入参数之间的约束关系能够精简测试用例。
3.3 算法对比分析
为评估CTCS故障定位的故障检测率,采用文献(张杨, 东春浩, 刘辉, 等. 基于预训练模型和多层次信息的代码坏味检测方法[J].软件学报, 2022, 33(05): 1551-1568)定义的评价指标,使用查全率recall、查准率precision和综合评价指标f-measure表示故障检测率。其中,recall表示检测出的MFS的数量占实际MFS的比例,由于算法检测出的模式可能不仅包含MFS,还包含其他故障模式,因此采用precision表示检测出的故障模式数量占检测出的模式的比例,选取f-measure来综合地评价故障定位算法的性能。
(2)
(3)
(4)
其中,AllMFS表示SUT中所有的MFS的集合,FailM表示SUT中所有故障模式的集合,DetMFS表示检测出的MFS的集合。
为了验证本发明定位方法的准确性,将本发明与RI、TRT定位方法和基于频繁项关系矩阵的定位方法从查全率、查准率和综合评价指标三个维度比较故障检测率,结果如图5所示,图5(a)为四种方法的recall-prceision曲线图,图5(b)为四种方法的f-measure对比图。从图5(a)可得,相比其他算法,本发明基于Delta-Debugging算法的recall-precision值更高,且更趋近于(100,100)点,这表明本发明基于Delta-Debugging算法的recall和precision均可达到较高水平。由图5(b)可得,本发明基于Delta-Debugging算法f-measure的均值、中位数、最大值和最小值分别为58%、79%、95%和34%;RI算法与频繁项关系矩阵的箱体偏低,均值、中位数、最大值和最小值较低;TRT与本发明相差不大,但四分位间距偏低,且均值低于本发明;实验结果表明,本发明基于Delta-Debugging算法的f-measure较高,且离散程度较低,即本发明的故障检测率更高,可有效降低CTCS故障注入组合测试成本、提高测试效率,定位效果更好。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.基于Delta-Debugging的列车运行控制系统故障定位方法,其特征在于,首先依据智能高速铁路临时限速场景的特点,建立CTCS自适应组合测试模型,所述CTCS自适应组合测试模型包括两条反馈回路,第一条由测试用例生成、测试用例执行和CTCS测试结果数据库组成,用于收集CTCS相应的测试策略,生成新的测试用例;第二条由CTCS组合测试模型建立、测试用例生成、测试用例执行和CTCS测试结果数据库组成,用于根据测试结果数据库中的信息修改参数取值和测试策略;
从设备、功能和数据通信三个方面分析各设备的故障现象,得出CTCS测试参数,然后根据覆盖维度和所述CTCS测试参数交互条件生成测试用例,通过测试用例生成与故障定位结合的自适应组合测试流程进行测试,得到的CTCS组合测试结果中,未通过测试的测试用例则转到故障定位阶段,采用Delta-Debugging算法,生成附加测试用例;对于在故障定位过程中生成的附加测试用例,将除失败测试用例之外的其他附加测试用例中的所有t-way模式设定为已被测试,其中t为覆盖维度,回到测试流程开始的阶段重复执行,直到所有的t-way模式都被测试;接着利用失败测试用例与通过测试用例间的差异生成关注模式,在附加测试用例和关注模式中使用约束处理策略,最终定位出最小故障模式。
2.如权利要求1所述的基于Delta-Debugging的列车运行控制系统故障定位方法,其特征在于,所述自适应组合测试流程如下:
输入:覆盖数组CA(N, t, k, v, C)
步骤1:根据输入覆盖数组CA生成测试用例集T并执行;
步骤2:获取失败测试用例集T fail ;
步骤3:生成附加测试用例集T addition ;
步骤4:若有测试用例执行成功且含有待测模式,更新测试用例集;
步骤5:若无测试用例执行成功或无待测模式,定位最小故障模式MFS,并删除包含最小故障模式的测试用例,更新测试用例集;
步骤6:若测试用例执行完毕,则结束此流程;
步骤7:若测试用例未执行完毕,则返回步骤1,重复此流程;
在组合测试中,使用覆盖表CA表示一个N×k的矩阵;在CA(N,t,k,v,C)中,N为测试用例集大小,t为覆盖维度,k为CTCS测试参数个数,v为CTCS测试参数取值,C为约束条件。
3.如权利要求1所述的基于Delta-Debugging的列车运行控制系统故障定位方法,其特征在于,所述约束处理策略如下:在关注模式中,在生成通过测试用例之前,加入约束集,避免关注模式与约束相关;在生成附加测试用例时,避开约束集中的参数取值。
4.如权利要求3所述的基于Delta-Debugging的列车运行控制系统故障定位方法,其特征在于,所述关注模式中约束处理伪代码如下:
输入:失败测试用例t fail=(fail 1, …,fail n ),故障模式集V related,关注模式集V;
步骤1:定义失败测试用例;
步骤2:若故障模式集与通过测试用例不存在交集,则t pass是故障模式集与部分其他参数的合集;
步骤3:将通过测试集减去失败测试集,选择与通过测试集最相似的测试用例作为t pass;
步骤4:若t pass满足目标约束,则退出该流程;
步骤5:若t pass不满足目标约束,则返回步骤2,重复此流程。
5.如权利要求3所述的基于Delta-Debugging的列车运行控制系统故障定位方法,其特征在于,所述附加测试用例中约束处理伪代码如下:
输入:失败测试用例t fail=(fail 1,…,fail n ),故障模式集V related,附加测试用例t addition;
步骤1:令V related为故障模式集添加失败测试用例;
步骤2:当前测试用例为故障测试集加部分无关参数;
步骤3:若测试用例满足约束,附加测试用例为当前测试用例加部分无关参数;
步骤4:若测试用例不满足约束,删除部分无关参数;
步骤5:若测试用例个数达到总失败测试用例个数,则跳出循环,输出附加测试用例集;
步骤6:若测试用例个数未达到总失败测试用例个数,则返回步骤2,重复该流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310966409.8A CN116679606B (zh) | 2023-08-02 | 2023-08-02 | 基于Delta-Debugging的列车运行控制系统故障定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310966409.8A CN116679606B (zh) | 2023-08-02 | 2023-08-02 | 基于Delta-Debugging的列车运行控制系统故障定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116679606A true CN116679606A (zh) | 2023-09-01 |
CN116679606B CN116679606B (zh) | 2023-10-03 |
Family
ID=87784072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310966409.8A Active CN116679606B (zh) | 2023-08-02 | 2023-08-02 | 基于Delta-Debugging的列车运行控制系统故障定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116679606B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117852476A (zh) * | 2024-03-08 | 2024-04-09 | 中科鉴芯(北京)科技有限责任公司 | 基于不完备算法进行仿真的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094575A1 (en) * | 2007-10-03 | 2009-04-09 | Siemens Corporate Research, Inc. | System and Method For Applying Model-Based Testing To Train Control Systems |
CN110239599A (zh) * | 2019-05-22 | 2019-09-17 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种基于面向服务的列车控制仿真测试系统及方法 |
CN112000558A (zh) * | 2020-07-16 | 2020-11-27 | 浙江众合科技股份有限公司 | 轨道交通信号系统自动化测试用例生成方法 |
CN112731910A (zh) * | 2021-03-31 | 2021-04-30 | 卡斯柯信号(北京)有限公司 | 车载设备的仿真测试方法及装置 |
CN113110396A (zh) * | 2021-05-07 | 2021-07-13 | 兰州交通大学 | 一种基于频繁项关系矩阵的列车控制系统故障定位方法 |
-
2023
- 2023-08-02 CN CN202310966409.8A patent/CN116679606B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094575A1 (en) * | 2007-10-03 | 2009-04-09 | Siemens Corporate Research, Inc. | System and Method For Applying Model-Based Testing To Train Control Systems |
CN110239599A (zh) * | 2019-05-22 | 2019-09-17 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种基于面向服务的列车控制仿真测试系统及方法 |
CN112000558A (zh) * | 2020-07-16 | 2020-11-27 | 浙江众合科技股份有限公司 | 轨道交通信号系统自动化测试用例生成方法 |
CN112731910A (zh) * | 2021-03-31 | 2021-04-30 | 卡斯柯信号(北京)有限公司 | 车载设备的仿真测试方法及装置 |
CN113110396A (zh) * | 2021-05-07 | 2021-07-13 | 兰州交通大学 | 一种基于频繁项关系矩阵的列车控制系统故障定位方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117852476A (zh) * | 2024-03-08 | 2024-04-09 | 中科鉴芯(北京)科技有限责任公司 | 基于不完备算法进行仿真的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116679606B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914873A (zh) | 一种两阶段云服务器无监督异常预测方法 | |
CN116679606B (zh) | 基于Delta-Debugging的列车运行控制系统故障定位方法 | |
CN109308411B (zh) | 基于人工智能决策树的分层检测软件行为缺陷的方法和系统 | |
CN105868116A (zh) | 基于语义变异算子的测试用例生成和优化方法 | |
CN110347600B (zh) | 面向卷积神经网络的变异覆盖测试方法及计算机存储介质 | |
WO2024078339A1 (zh) | 基于车辆历史数据的故障预测方法、系统和存储介质 | |
WO2017084460A1 (zh) | 一种原因追溯方法 | |
Iqbal et al. | Combining search-based and adaptive random testing strategies for environment model-based testing of real-time embedded systems | |
CN116400168A (zh) | 一种基于深度特征聚类的电网故障诊断方法及系统 | |
CN116909788A (zh) | 一种任务导向和视角不变的多模态故障诊断方法及系统 | |
Di Martino | One size does not fit all: Clustering supercomputer failures using a multiple time window approach | |
CN108733528A (zh) | 一种基于约束的系统故障注入方法 | |
CN112181420A (zh) | 基于强化学习的编译器缺陷定位方法 | |
CN116108622A (zh) | 轨道交通信号系统可靠性分析方法、装置及电子设备 | |
CN113110396A (zh) | 一种基于频繁项关系矩阵的列车控制系统故障定位方法 | |
CN102799517B (zh) | 一种快速的循环扩展检测方法 | |
Kun et al. | Software test case generation based on the fault propagation path coverage | |
CN114064472A (zh) | 基于代码表示的软件缺陷自动修复加速方法 | |
CN108984397B (zh) | 黑盒故障注入方法和系统及介质设备 | |
CN113496332A (zh) | 工业互联网故障预测方法和系统 | |
KR101961379B1 (ko) | 자가 적응형 로봇 시스템 및 그의 오류 검출 방법 | |
Poskitt et al. | Finding Causally Different Tests for an Industrial Control System | |
Sijtsma et al. | Creating a formal model of the game 2048 | |
Kustarev et al. | Functional monitoring of SoC with dynamic actualization of behavioral model | |
KR20130143451A (ko) | 서비스 로봇 시스템의 기능 행위를 식별하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |