CN115576848B - 结合关键边概率与路径层接近度的多路径覆盖测试方法 - Google Patents

结合关键边概率与路径层接近度的多路径覆盖测试方法 Download PDF

Info

Publication number
CN115576848B
CN115576848B CN202211407779.XA CN202211407779A CN115576848B CN 115576848 B CN115576848 B CN 115576848B CN 202211407779 A CN202211407779 A CN 202211407779A CN 115576848 B CN115576848 B CN 115576848B
Authority
CN
China
Prior art keywords
path
node
probability
key
crossing
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.)
Active
Application number
CN202211407779.XA
Other languages
English (en)
Other versions
CN115576848A (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.)
Jiangxi University of Finance and Economics
Original Assignee
Jiangxi University of Finance and Economics
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 Jiangxi University of Finance and Economics filed Critical Jiangxi University of Finance and Economics
Priority to CN202211407779.XA priority Critical patent/CN115576848B/zh
Publication of CN115576848A publication Critical patent/CN115576848A/zh
Application granted granted Critical
Publication of CN115576848B publication Critical patent/CN115576848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出一种结合关键边概率与路径层接近度的多路径覆盖测试方法,根据被测程序计算关键边概率,同时生成路径层图,通过关键边概率计算个体贡献度,通过路径层图计算路径层接近度;结合个体贡献度与路径层接近度设计适应度函数。其中,利用关键边概率能准确挑选合理的目标路径,而通过路径层接近度对各节点及边赋予一定的权重,可反映嵌套结构带来的差异性,二者互为补充,能够提高测试数据生成的稳定性。此外,通过种群中个体对生成测试数据的个体贡献度及路径层接近度判断优劣程度,并设计合适的适应度函数;利用多种群遗传算法实现,以提高数据生成效率。

Description

结合关键边概率与路径层接近度的多路径覆盖测试方法
技术领域
本发明涉及计算机遗传算法技术领域,特别涉及一种结合关键边概率与路径层接近度的多路径覆盖测试方法。
背景技术
自动生成满足指定测试需求的数据是软件测试的关键问题,许多学者已提出各种方法用于测试数据自动生成。对代码已知的程序进行路径覆盖,是生成其对应测试数据的常见方法。其中,大多数软件测试数据自动生成问题可转化成目标路径覆盖问题。该问题可分为两方面:即包括单路径覆盖与多路径覆盖。多路径覆盖虽然在自动生成测试数据上较单路径覆盖复杂度更高,但其可在较少时间内生成更多覆盖目标路径的测试用例,其效率更高,适用性更广。
利用搜索的测试用例生成方法是软件自动测试领域的常用方法,实质上是把软件测试问题转换为优化问题并通过搜索算法生成测试数据。遗传算法作为经典的搜索算法,是求解多路径覆盖测试数据自动生成问题的有效方法,近年来国内外的相关研究较多。此外,生成难覆盖路径的测试用例是现有研究的热点。目前,判断路径难易覆盖的方法均是从节点角度考虑,路径覆盖的难易程度和其包含节点的难易覆盖程度有一定关系。
然而,为了提高难覆盖路径测试用例的生成效率,还需考虑关键边等其它因素。现有技术中,对此相关的研究甚少。基于此,有必要提出一种结合关键边概率与路径层接近度的多路径覆盖测试方法,以解决上述技术问题。
发明内容
鉴于上述状况,本发明的主要目的是为了提出一种结合关键边概率与路径层接近度的多路径覆盖测试方法,以解决上述技术问题。
本发明提出一种结合关键边概率与路径层接近度的多路径覆盖测试方法,其中,所述方法包括如下步骤:
步骤一、获取目标路径:
根据被测程序生成随机的测试数据,以根据所述随机的测试数据得到被测程序对应的节点覆盖信息,根据所述节点覆盖信息计算得到节点被穿越的概率;其中,所述节点被穿越的概率表示节点被所述随机的测试数据穿越的概率;
设定概率阈值,当判断到所述节点被穿越的概率低于所述概率阈值,则判定对应的节点为难覆盖节点;
当任一路径中的其中一条边所属的两节点均为难覆盖节点,则判定对应的边为关键边,并通过所述关键边构成所述目标路径;
步骤二、设计适应度函数:
在被测程序中以所述随机的测试数据计算关键边概率,并根据所述关键边概率计算得到个体贡献度,并根据所述被测程序的路径层图计算得到路径层接近度,利用所述个体贡献度以及所述路径层接近度设计得到适应度函数;其中所述关键边概率为所述随机的测试数据穿越关键边的概率;
步骤三、生成覆盖目标路径的测试数据:
根据所述适应度函数计算得到个体适应度,当判断到所述个体适应度大于适应度阈值,则计算得到路径相似度;
根据所述路径相似度判断是否存在相似路径,若存在,则子种群覆盖其它相似路径,以发挥个体信息在测试数据进化生成中的作用。
本发明提出一种结合关键边概率与路径层接近度的多路径覆盖测试方法,通过种群中个体对生成测试数据的个体贡献度及路径层接近度判断优劣程度,并设计合适的适应度函数;利用多种群遗传算法实现,以提高数据生成效率。本发明的主要贡献可概括为如下几方面:
(1)、通过关键边概率,生成目标路径:
与传统的目标路径选取方式不同,本发明根据节点被穿越概率的平均值,设定概率阈值,并判定穿越概率低于概率阈值的为难覆盖节点;若路径中某条边所属的两节点均为难覆盖节点,则定义这条边为难覆盖边(即为关键边),然后再遍历程序中的所有路径,其中由难覆盖边构成的路径为目标路径;当目标路径很多时,择优挑选目标路径,根据关键边概率观察目标路径相比仅通过节点来选取更恰当,因此有助于提高测试数据生成的效率。
(2)、利用关键边概率和路径层接近度,改进适应度函数:
根据被测程序计算关键边概率,同时生成路径层图,通过关键边概率计算个体贡献度,通过路径层图计算路径层接近度;结合个体贡献度与路径层接近度设计适应度函数。其中,利用关键边概率能准确挑选合理的目标路径,而通过路径层接近度对各节点及边赋予一定的权重,可反映嵌套结构带来的差异性,二者互为补充,能够提高测试数据生成的稳定性。
(3)、根据改进的适应度函数实施多种群遗传进化,提高测试数据生成效率:
基于改进的个体适应度函数结合个体信息共享策略,某子种群对应的目标路径被覆盖后,可继续搜寻其它相似的目标路径;若相似路径被搜索到,则该相似路径有很大机会可被现存的个体覆盖,使得个体信息的利用更充分,有利于改善测试数据的进化生成过程。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。
附图说明
图1为本发明提出的结合关键边概率与路径层接近度的多路径覆盖测试方法的总体框架图;
图2为本发明提出的结合关键边概率与路径层接近度的多路径覆盖测试方法中的路径层图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
本发明一种结合关键边概率与路径层接近度的多路径覆盖测试方法,主要包括个体适应度模块和遗传算法模块。首先选取目标路径,接着计算路径层接近度和个体贡献度,进而计算个体适应度,最后通过遗传算法进化生成测试数据(请参见图1)。
本发明提出一种结合关键边概率与路径层接近度的多路径覆盖测试方法,其中,所述方法包括如下步骤:
S101、获取目标路径。
步骤S101具体包括:
S1011、根据被测程序生成随机的测试数据,以根据所述随机的测试数据得到被测程序对应的节点覆盖信息,根据所述节点覆盖信息计算得到节点被穿越的概率。
在此需要说明的是,节点被穿越的概率表示节点被所述随机的测试数据穿越的概率。具体的,为了获得目标路径,先计算被测程序的节点被穿越的概率。其中,概率为0,则标记为不可达节点;概率为1,则标记为必达节点。对于其它节点根据设定的概率阈值经判断(其中,概率阈值指的是所有节点被穿越的概率的平均值,该值会随着每组测试数据动态变化),低于概率阈值的记为难覆盖节点。若穿越路径中某边的两节点均为难覆盖节点,则该边为难覆盖边(即为关键边),并将穿越路径看成是目标路径。计算各目标路径中关键边概率之和,按照概率之和的值对目标路径排序,值越大,排名越靠前。根据实验需要,择优挑选目标路径。
在本步骤中,根据被测程序生成随机的测试数据,以根据所述随机的测试数据得到被测程序对应的节点覆盖信息的公式表示为:
     (1)
其中,表示第条测试路径穿越第个穿越节点的状态。
输入 m组随机的测试数据到被测程序中,以得到由 m条穿越路径组成的集合
根据节点覆盖信息以及由 m条穿越路径组成的集合计算得到穿越矩阵,穿越矩阵表示为;
         (2)
其中,表示穿越矩阵,表示穿越路径中的第1个穿越节点至第 n个穿越节点,表示执行被测程序时得到的 m条穿越路径,表示第 m个穿越路径穿越第个穿越节点的状态, m表示穿越路径的数量且等于随机的测试数据的组数, n表示穿越节点的数量。
S1012、设定概率阈值,当判断到所述节点被穿越的概率低于所述概率阈值,则判定对应的节点为难覆盖节点。
S1013、当任一路径中的其中一条边所属的两节点均为难覆盖节点,则判定对应的边为关键边,并通过所述关键边构成所述目标路径。
S102、设计适应度函数。
其中,所述关键边概率为所述随机的测试数据穿越关键边的概率。
步骤S102具体包括:
S1021、在被测程序中以所述随机的测试数据计算关键边概率;
具体的,在本步骤中,根据穿越矩阵,计算得到穿越节点的路径数,对应的路径数的计算公式表示为:
            (3)
其中,表示穿越节点的路径数;
穿越节点被穿越的概率表示为:
      (4)
关键边概率表示为:
    (5)
其中,表示关键边概率,表示穿越节点被穿越的概率,表示穿越节点与穿越节点组成的关键边。
例如,输入三组随机测试数据,执行该测试程序可得到三条穿越路径。假设穿越矩阵,可知覆盖节点的路径数,其节点概率=1/3=0.33;覆盖节点的路径数,其节点概率=1/3=0.33。若为关键边,则关键边概率
S1022、根据所述关键边概率计算得到个体贡献度;
个体贡献度的计算公式表示为:
  (6)
其中,表示其中一个个体,表示其中一条目标路径,表示种群中的个体对进化生成测试数据用于覆盖目标路径集中的其中一条目标路径所做出的个体贡献度。
需要说明的是,在遗传进化中,某关键边概率越高,则表示它是较易被覆盖的。按常理,当某个个体对应的路径与目标路径相同的关键边均是相对容易被覆盖的(即,关键边概率高),那么此个体以较小的代价就可生成该难覆盖路径,贡献不大;而当某个个体对应的路径与目标路径包含的相同关键边均是很难被覆盖的(即,关键边概率低),则定义该个体为优秀个体,其需以较大的代价进化生成此目标路径,贡献较大,在进化中应受到保护。因此,可以认为个体贡献度与关键边概率成反比关系。
假设某条目标路径:
,其关键边概率为
此外,假设存在某个个体对应的路径:
,则可知它们相同关键边为。个体对于目标路径的贡献度计算为:
在此需要补充说明的是,如图2所示, E 1,3 、E 7,8 、E 10,12 、E 8,16 、E 12,16 、E 14,16分别表示由节点 N 1与节点 N 3,节点 N 7与节点 N 8,节点 N 10与节点 N 12,节点 N 8与节点 N 16,节点 N 12与节点 N 16,节点 N 14与节点 N 16构成的边。
可以理解的,处理结构复杂(如嵌套层级多)的被测程序时,若能一定程度上反映各语句的执行情况,会对提升测试数据生成效率有很大帮助。因此提出路径层接近度概念,其优势在于,可通过赋予各节点及边不同的权重,从而反映嵌套结构给语句执行带来的影响。为了在设计适应度函数时反映这种结构带来的影响,给出路径层图、路径层接近度等相关概念。
S1023、根据所述被测程序的路径层图计算得到路径层接近度,利用所述个体贡献度以及所述路径层接近度设计得到适应度函数。
对路径层图而言,具体为:将被测程序中所有路径,依据穿越路径上各节点的所属层级构成的一种有向图。其形式化描述可表示为:GL=(N,E,ρ)。其中,GL表示路径层图,N表示节点的集合,各节点均表示程序对应的基本语句块;E表示边的集合,各边对应程序语句的流向;ρ表示节点层级的集合,节点层级从外层到内层按顺序编号,最外层为第一层,层级越高,其数值越大,表示该节点越难被执行到。
路径层图的设计过程主要包括:(1) 将被测程序的所有执行语句块用节点表示;(2) 根据执行顺序,从序号1开始对节点编号;(3) 对被测程序按从内到外的嵌套层次,从第一层开始对各节点赋予对应的层级;(4) 按照节点层级对各节点从上到下升序排序,同一层级的节点排在同一层;(5) 按照程序执行情况,将节点间的执行关系连接起来;(6) 排序好的节点及对应的执行关系构成路径层图。
在本实施例中,可通过赋予路径上的各条边不同的权重,从而反映嵌套结构带来的差异性。具体的,图2为本发明提出的路径层图,其中节点 N 1N 3N 5N 7N 16,都是第一层节点(最外层),也是程序中最易被执行到的节点,因此赋予它们最低的权重。同理, N 11N 12N 14N 15都是第4层嵌套节点(最内层),是最难被执行到的节点,因此赋予它们最大的权重。
进一步的,路径层接近度的计算公式表示为:
      (7)
    (8)
其中,表示路径接近度,表示个体对应的测试路径,表示穿越节点与穿越节点组成的关键边,表示关键边的层级,表示关键边的层级,的取值范围均为
关键边的层级对应的计算公式表示为:
   (9)
其中,表示穿越节点的层级,表示穿越节点的层级;
关键边的层级对应的计算公式表示为:
    (10)
其中,表示穿越节点的层级,表示穿越节点的层级。
上述介绍的关键边概率、个体贡献度与路径层接近度用于适应度函数的设计。其中,关键边概率用于检测难覆盖路径,并计算个体贡献度以评价种群个体的优劣;路径层接近度用于平衡被测程序中,因存在嵌套结构而使各节点被执行难度不一所产生的影响。二者互为补充,均用于解决多目标路径覆盖问题,以提高算法的效率。据此,将根据关键边概率计算得到的个体贡献度与路径层接近度相结合,设计适应度函数。
具体的,适应度函数的计算公式表示为:
   (11)
其中,表示个体的测试路径对应的适应度函数。
S103、生成覆盖目标路径的测试数据。
步骤S103具体包括:
S1031、根据所述适应度函数计算得到个体适应度,当判断到所述个体适应度大于适应度阈值,则计算得到路径相似度。
路径相似度的计算公式表示为:
 (12)
   (13)
其中,表示穿越路径与穿越路径之间的路径相似度,表示穿越路径的关键边个数,表示穿越路径的关键边个数,表示穿越路径的第个位置上的关键边,表示穿越路径的第个位置上的关键边,表示统计穿越路径与穿越路径之间相同关键边的个数。
S1032、根据所述路径相似度判断是否存在相似路径,若存在,则子种群覆盖其它相似路径,以发挥个体信息在测试数据进化生成中的作用。
生成覆盖目标路径测试数据的遗传进化过程如下:
首先,插桩被测程序后,再对参数进行初始化,包括子种群数(即,目标路径集中目标路径数)、子种群中个体数、进化代数最大值以及种群进化中所需的相关值(如,交叉和变异概率等),并对个体进行二进制编码。
其次,实施多种群进化过程,具体包括:
(1) 、对目标路径集中的任意目标路径,生成个体数m的随机子种群,计算目标路径被该随机子种群中个体覆盖所需要达到的适应度值;若存在个体的适应度达到需要达到的适应度值,说明目标路径能被该个体覆盖,则将该目标路径从目标路径集中移除,若不存在则对该随机子种群执行遗传操作(即,选择、交叉、变异等);
(2) 、除了判定随机子种群中的个体是否为当前子种群的最优解,还需判定是否为其它子种群的最优解。如果随机子种群中的个体能够覆盖其它目标路径,将其加入路径列表list中,输出测试数据并删除其它子种群与其它目标路径;
(3) 、随机子种群继续尝试覆盖与列表list中路径相似的其它目标路径,直到完成尝试覆盖所有相似目标路径,则输出测试数据并终止该随机子种群;
最后,若目标路径集中的所有目标路径被全部覆盖或种群进化代数达到其最大值,则输出测试数据,程序执行完毕。
本发明提出一种结合关键边概率与路径层接近度的多路径覆盖测试方法,通过种群中个体对生成测试数据的个体贡献度及路径层接近度判断优劣程度,并设计合适的适应度函数;利用多种群遗传算法实现,以提高数据生成效率。本发明的主要贡献可概括为如下几方面:
(1)、通过关键边概率,生成目标路径:
与传统的目标路径选取方式不同,本发明根据节点被穿越概率的平均值,设定概率阈值,并判定穿越概率低于概率阈值的为难覆盖节点;若路径中某条边所属的两节点均为难覆盖节点,则定义这条边为难覆盖边(即为关键边),然后再遍历程序中的所有路径,其中由难覆盖边构成的路径为目标路径;当目标路径很多时,择优挑选目标路径,根据关键边概率观察目标路径相比仅通过节点来选取更恰当,因此有助于提高测试数据生成的效率。
(2)、利用关键边概率和路径层接近度,改进适应度函数:
根据被测程序计算关键边概率,同时生成路径层图,通过关键边概率计算个体贡献度,通过路径层图计算路径层接近度;结合个体贡献度与路径层接近度设计适应度函数。其中,利用关键边概率能准确挑选合理的目标路径,而通过路径层接近度对各节点及边赋予一定的权重,可反映嵌套结构带来的差异性,二者互为补充,能够提高测试数据生成的稳定性。
(3)、根据改进的适应度函数实施多种群遗传进化,提高测试数据生成效率:
基于改进的个体适应度函数结合个体信息共享策略,某子种群对应的目标路径被覆盖后,可继续搜寻其它相似的目标路径;若相似路径被搜索到,则该相似路径有很大机会可被现存的个体覆盖,使得个体信息的利用更充分,有利于改善测试数据的进化生成过程。
应当理解的,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (1)

1.一种结合关键边概率与路径层接近度的多路径覆盖测试方法,其特征在于,所述方法包括如下步骤:
步骤一、获取目标路径:
根据被测程序生成随机的测试数据,以根据所述随机的测试数据得到被测程序对应的节点覆盖信息,根据所述节点覆盖信息计算得到节点被穿越的概率;其中,所述节点被穿越的概率表示节点被所述随机的测试数据穿越的概率;
设定概率阈值,当判断到所述节点被穿越的概率低于所述概率阈值,则判定对应的节点为难覆盖节点;
当任一路径中的其中一条边所属的两节点均为难覆盖节点,则判定对应的边为关键边,并通过所述关键边构成所述目标路径;
步骤二、设计适应度函数:
在被测程序中以所述随机的测试数据计算关键边概率,并根据所述关键边概率计算得到个体贡献度,并根据所述被测程序的路径层图计算得到路径层接近度,利用所述个体贡献度以及所述路径层接近度设计得到适应度函数;其中所述关键边概率为所述随机的测试数据穿越关键边的概率;
步骤三、生成覆盖目标路径的测试数据:
根据所述适应度函数计算得到个体适应度,当判断到所述个体适应度大于适应度阈值,则计算得到路径相似度;
根据所述路径相似度判断是否存在相似路径,若存在,则子种群覆盖其它相似路径,以发挥个体信息在测试数据进化生成中的作用;
在所述步骤一中,根据被测程序生成随机的测试数据,以根据所述随机的测试数据得到被测程序对应的节点覆盖信息的公式表示为:
     (1)
其中,表示第条测试路径穿越第个穿越节点的状态;
在所述步骤一中,所述方法包括:
输入m组随机的测试数据到被测程序中,以得到由m条穿越路径组成的集合
根据节点覆盖信息以及由m条穿越路径组成的集合计算得到穿越矩阵,穿越矩阵表示为;
         (2)
其中,表示穿越矩阵,表示穿越路径中的第1个穿越节点至第n个穿越节点,表示执行被测程序时得到的m条穿越路径,表示第m个穿越路径穿越第个穿越节点的状态,m表示穿越路径的数量且等于随机的测试数据的组数,n表示穿越节点的数量;
根据穿越矩阵,计算得到穿越节点的路径数,对应的路径数的计算公式表示为:
            (3)
其中,表示穿越节点的路径数;
穿越节点被穿越的概率表示为:
      (4)
关键边概率表示为:
    (5)
其中,表示关键边概率,表示穿越节点被穿越的概率,表示穿越节点与穿越节点组成的关键边;
在所述步骤二中,所述个体贡献度的计算公式表示为:
  (6)
其中,表示其中一个个体,表示其中一条目标路径, 表示种群中的个体对进化生成测试数据用于覆盖目标路径集中的其中一条目标路径所做出的个体贡献度;
所述路径层接近度的计算公式表示为:
      (7)
    (8)
其中,表示路径接近度,表示个体对应的测试路径,表示穿越节点与穿越节点组成的关键边,表示关键边的层级,表示关键边的层级,的取值范围均为
关键边的层级对应的计算公式表示为:
   (9)
其中,表示穿越节点的层级,表示穿越节点的层级;
关键边的层级对应的计算公式表示为:
    (10)
其中,表示穿越节点的层级,表示穿越节点的层级;
在所述步骤二中,适应度函数的计算公式表示为:
   (11)
其中,表示个体的测试路径对应的适应度函数;
路径相似度的计算公式表示为:
 (12)
   (13)
其中,表示穿越路径与穿越路径之间的路径相似度,表示穿越路径的关键边个数,表示穿越路径的关键边个数,表示穿越路径的第个位置上的关键边,表示穿越路径的第个位置上的关键边,表示统计穿越路径与穿越路径之间相同关键边的个数。
CN202211407779.XA 2022-11-10 2022-11-10 结合关键边概率与路径层接近度的多路径覆盖测试方法 Active CN115576848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211407779.XA CN115576848B (zh) 2022-11-10 2022-11-10 结合关键边概率与路径层接近度的多路径覆盖测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211407779.XA CN115576848B (zh) 2022-11-10 2022-11-10 结合关键边概率与路径层接近度的多路径覆盖测试方法

Publications (2)

Publication Number Publication Date
CN115576848A CN115576848A (zh) 2023-01-06
CN115576848B true CN115576848B (zh) 2023-04-07

Family

ID=84589095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211407779.XA Active CN115576848B (zh) 2022-11-10 2022-11-10 结合关键边概率与路径层接近度的多路径覆盖测试方法

Country Status (1)

Country Link
CN (1) CN115576848B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116010291A (zh) * 2023-03-28 2023-04-25 江西财经大学 基于均衡优化理论与灰色预测模型的多路径覆盖测试方法
CN116303094B (zh) * 2023-05-10 2023-07-21 江西财经大学 基于rbf神经网络与个体迁移的多路径覆盖测试方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083531A (zh) * 2019-04-12 2019-08-02 江西财经大学 改进个体信息共享的多目标路径覆盖测试方法及实现系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9633315B2 (en) * 2012-04-27 2017-04-25 Excalibur Ip, Llc Method and system for distributed machine learning
IN2014CH01329A (zh) * 2014-03-13 2015-09-18 Infosys Ltd
CN108509335B (zh) * 2018-01-31 2021-03-19 浙江理工大学 基于遗传算法优化的软件测试数据生成方法
CN108710575B (zh) * 2018-05-23 2020-11-24 华南理工大学 基于路径覆盖测试用例自动生成的单元测试方法
CN109918304B (zh) * 2019-03-06 2022-04-12 牡丹江师范学院 一种快速高路径覆盖率测试用例生成方法
CN111240995B (zh) * 2020-01-21 2023-07-25 江西财经大学 结合关键点概率与路径相似度的多路径覆盖方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083531A (zh) * 2019-04-12 2019-08-02 江西财经大学 改进个体信息共享的多目标路径覆盖测试方法及实现系统

Also Published As

Publication number Publication date
CN115576848A (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
CN115576848B (zh) 结合关键边概率与路径层接近度的多路径覆盖测试方法
US9058564B2 (en) Controlling quarantining and biasing in cataclysms for optimization simulations
Kassahun et al. Efficient reinforcement learning through Evolutionary Acquisition of Neural Topologies.
US20110161264A1 (en) Optimized seeding of evolutionary algorithm based simulations
CN108509335A (zh) 基于遗传算法优化的软件测试数据生成方法
JP5708495B2 (ja) 辞書作成装置、単語収集方法、及び、プログラム
Ros-Freixedes et al. A method for allocating low-coverage sequencing resources by targeting haplotypes rather than individuals
CN106991295B (zh) 一种基于多目标优化的蛋白质网络模块挖掘方法
CN102629305A (zh) 一种面向snp数据的特征选择方法
CN110705045B (zh) 一种利用网络拓扑特性构建加权网络的链路预测方法
Ferber et al. Finding Hamilton cycles in random graphs with few queries
Cai et al. A novel genetic algorithm for overlapping community detection
CN115248781A (zh) 一种组合测试用例生成方法、装置、设备及可读存储介质
CN102708047A (zh) 数据流测试用例生成方法
Li et al. Failure based variable ordering heuristics for solving CSPs (short paper)
CN109390032B (zh) 一种基于进化算法在全基因组关联分析的数据中探索与疾病相关的snp组合的方法
CN112270957B (zh) 高阶snp致病组合数据检测方法、系统、计算机设备
CN116010291A (zh) 基于均衡优化理论与灰色预测模型的多路径覆盖测试方法
Ren et al. An iterated three-phase search approach for solving the cyclic bandwidth problem
CN110222055A (zh) 一种动态图下多边更新的单轮核值维护方法
KR100963764B1 (ko) 바이클러스터링 방법 및 장치
CN116089317B (zh) 基于路径相似表与个体迁移的多路径测试方法与系统
CN111881327A (zh) 基于顶点重排序与优先缓存的大数据处理能力测试方法
Ito et al. OFA 2: A Multi-Objective Perspective for the Once-for-All Neural Architecture Search
Abbas et al. An adaptive evolutionary algorithm for Volterra system identification

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