当前位置: X-MOL 学术Int. J. Softw. Eng. Knowl. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Thread Scheduling Sequence Generation Based on All Synchronization Pair Coverage Criteria
International Journal of Software Engineering and Knowledge Engineering ( IF 0.6 ) Pub Date : 2020-02-27 , DOI: 10.1142/s0218194020500059
JunXia Guo 1 , Zheng Li 1 , CunFeng Shi 1 , RuiLian Zhao 1
Affiliation  

Testing multi-thread programs becomes extremely difficult because thread interleavings are uncertain, which may cause a program getting different results in each execution. Thus, Thread Scheduling Sequence (TSS) is a crucial factor in multi-thread program testing. A good TSS can obtain better testing efficiency and save the testing cost especially with the increase of thread numbers. Focusing on the above problem, in this paper, we discuss a kind of approach that can efficiently generate TSS based on the concurrent coverage criteria. First, we give a definition of Synchronization Pair (SP) as well as all Synchronization Pairs Coverage (ASPC) criterion. Then, we introduce the Synchronization Pair Thread Graph (SPTG) to describe the relationships between SPs and threads. Moreover, this paper presents a TSS generation method based on the ASPC according to SPTG. Finally, TSSs automatic generation experiments are conducted on six multi-thread programs in Java Library with the help of Java Path Finder (JPF) tool. The experimental results illustrate that our method not only generates TSSs to cover all SPs but also requires less state number, transition number as well as TSS number when satisfying ASPC, compared with other three widely used TSS generation methods. As a result, it is clear that the efficiency of TSS generation is obviously improved.

中文翻译:

基于全同步对覆盖准则的线程调度序列生成

测试多线程程序变得非常困难,因为线程交错是不确定的,这可能会导致程序在每次执行中得到不同的结果。因此,线程调度序列(TSS)是多线程程序测试中的一个关键因素。一个好的TSS可以获得更好的测试效率和节省测试成本,尤其是随着线程数的增加。针对上述问题,在本文中,我们讨论了一种可以基于并发覆盖标准高效生成 TSS 的方法。首先,我们给出了同步对(SP)以及所有同步对覆盖(ASPC)标准的定义。然后,我们引入了同步对线程图(SPTG)来描述 SP 和线程之间的关系。而且,本文提出了一种基于SPTG的ASPC生成TSS方法。最后,借助Java Path Finder(JPF)工具对Java库中的6个多线程程序进行TSS自动生成实验。实验结果表明,与其他三种广泛使用的 TSS 生成方法相比,我们的方法不仅可以生成覆盖所有 SP 的 TSS,而且在满足 ASPC 时需要更少的状态数、转换数和 TSS 数。结果,很明显,TSS生成的效率明显提高。实验结果表明,与其他三种广泛使用的 TSS 生成方法相比,我们的方法不仅可以生成覆盖所有 SP 的 TSS,而且在满足 ASPC 时需要更少的状态数、转换数和 TSS 数。结果,很明显,TSS生成的效率明显提高。实验结果表明,与其他三种广泛使用的 TSS 生成方法相比,我们的方法不仅可以生成覆盖所有 SP 的 TSS,而且在满足 ASPC 时需要更少的状态数、转换数和 TSS 数。结果,很明显,TSS生成的效率明显提高。
更新日期:2020-02-27
down
wechat
bug