首页|基于CGA的MPI程序分支覆盖测试套件生成

基于CGA的MPI程序分支覆盖测试套件生成

扫码查看
针对程序的分支覆盖测试,元启发式搜索技术已经被广泛应用于测试数据生成中。然而,当前的研究成果主要适用于串行程序。因此,为覆盖消息传递接口(Message Passing Interface,MPI)程序的分支,该文研究基于协同进化遗传算法(Co-evolutionary Genetic Algorithm,CGA)的测试套件生成方法(简称为:CGA生成法),该方法具有不受不可行分支影响的优势。首先,基于收集覆盖信息的探针,定义最小归一化分支距离,并以此设计出相应的适应度值函数;然后,使用CGA生成进化个体,并基于设计的适应度值函数,计算这些个体的适应值;最后,基于计算的适应值,选择子种群中代表个体,以构成合作种群。所提CGA生成法应用于7 个基准MPI程序,并与其他多种方法进行比较。实验结果表明,CGA生成法的覆盖率通常高于其他搜索算法。
CGA-based Test Suite Generation for Branch Coverage of MPI Programs
For the branch coverage testing of programs,meta-heuristic search techniques have been widely used in test data generation.However,current researches are mainly applicable to sequential programs.Therefore,to cover the branches in a Message Passing Interface(MPI)program,we propose a method of generating test suite based on the Co-evolutionary Genetic Algorithm(CGA),which has the advantage of being unaffected by infeasible branches.To fulfill this task,we firstly define the minimum normalized branch distance based on the probes that collect the coverage information,and design the corresponding fitness function.Then,we use CGA to generate evolutionary individuals and calculate the fitness of these individuals based on the designed fitness function.Finally,the representative in-dividuals in each subpopulation are selected to form a cooperative population based on the calculated fitness.The proposed method is applied to 7 benchmark MPI programs and compared with some state-of-the-art methods.The experimental results show that the coverage rate of the proposed method is usually higher than that of other methods.

message passing interface(MPI)programco-evolutionary genetic algorithmbranch coverage testingtest suite generationfitness function

袁剑锋、刘佳、郭建卫

展开 >

徐州生物工程职业技术学院 信息管理学院,江苏 徐州 221000

徐州市农业物联网工程技术研究中心,江苏 徐州 221000

江苏安全技术职业学院 网络与信息安全学院,江苏 徐州 221000

消息传递接口程序 协同进化遗传算法 分支覆盖测试 测试套件生成 适应度值函数

江苏省高校哲学社会科学研究一般项目

2022SJYB1283

2024

计算机技术与发展
陕西省计算机学会

计算机技术与发展

CSTPCD
影响因子:0.621
ISSN:1673-629X
年,卷(期):2024.34(7)