Test Case Prioritization Based on Method Call Sequences

被引:3
作者
Chi, Jianlei [1 ]
Qu, Yu [1 ]
Zheng, Qinghua [1 ]
Yang, Zijiang [2 ]
Jin, Wuxia [1 ]
Cui, Di [1 ]
Liu, Ting [1 ]
机构
[1] Xi An Jiao Tong Univ, Minist Educ, Key Lab Intelligent Networks & Network Secur, Xian, Peoples R China
[2] Western Michigan Univ, Dept Comp Sci, Kalamazoo, MI 49008 USA
来源
2018 IEEE 42ND ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), VOL 1 | 2018年
基金
国家重点研发计划; 中国国家自然科学基金;
关键词
software testing; test case prioritization; call behavior graph;
D O I
10.1109/COMPSAC.2018.00039
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Test case prioritization is widely used in testing with the purpose of detecting faults as early as possible. Most existing techniques exploit coverage to prioritize test cases based on the hypothesis that a test case with higher coverage is more likely to catch bugs. Statement coverage and function coverage are the two widely used coverage granularity. The former typically achieves better test case prioritization in terms of fault detection capability, while the latter is more efficient because it incurs less overhead. In this paper we argue that static formation such as statement and function coverage may not be the best criteria for guiding dynamic executions. Executions that cover the same set of statements/functions can may exhibit very different behavior. Therefore, the abstraction that reduces program behavior to statement/function coverage can be too simplistic to predicate fault detection capability. We propose a new approach that exploits function call sequences to prioritize test cases. This is based on the observation that the function call sequences rather than the set of executed functions is a better indicator of program behavior. Test cases that reveal unique function call sequences may have better chance to encounter faults. We choose function instead of statement sequences due to the consideration of efficiency. We have developed and implemented a new prioritization strategy AGC (Additional Greedy method Call sequence), that exploit function call sequences. We compare AGC against existing test case prioritization techniques on eight real-world open source Java projects. Our experiments show that our approach outperforms existing techniques on large programs (but not on small programs) in terms of bug detection capability. The performance shows a growth trend when the size of program increases.
引用
收藏
页码:251 / 256
页数:6
相关论文
共 33 条
[1]   Is mutation an appropriate tool for testing experiments? [J].
Andrews, JH ;
Briand, LC ;
Labiche, Y .
ICSE 05: 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2005, :402-411
[2]   Test case prioritization: a systematic mapping study [J].
Catal, Cagatay ;
Mishra, Deepti .
SOFTWARE QUALITY JOURNAL, 2013, 21 (03) :445-478
[3]   Test Case Prioritization Using Lexicographical Ordering [J].
Eghbali, Sepehr ;
Tahvildari, Ladan .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2016, 42 (12) :1178-1195
[4]   Understanding the effects of changes on the cost-effectiveness of regression testing techniques [J].
Elbaum, S ;
Kallakuri, P ;
Malishevsky, A ;
Rothermel, G ;
Kanduri, S .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2003, 13 (02) :65-83
[5]   Test case prioritization: A family of empirical studies [J].
Elbaum, S ;
Malishevsky, AG ;
Rothermel, G .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (02) :159-182
[6]   Incorporating varying test costs and fault severities into test case prioritization [J].
Elbaum, S ;
Malishevsky, A ;
Rothermel, G .
PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2001, :329-338
[7]  
Fan M., TIFS
[8]   Android Malware Familial Classification and Representative Sample Selection via Frequent Subgraph Analysis [J].
Fan, Ming ;
Liu, Jun ;
Luo, Xiapu ;
Chen, Kai ;
Tian, Zhenzhou ;
Zheng, Qinghua ;
Liu, Ting .
IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, 2018, 13 (08) :1890-1905
[9]   Frequent Subgraph based Familial Classification of Android Malware [J].
Fan, Ming ;
Liu, Jun ;
Luo, Xiapu ;
Chen, Kai ;
Chen, Tianyi ;
Tian, Zhenzhou ;
Zhang, Xiaodong ;
Zheng, Qinghua ;
Liu, Ting .
2016 IEEE 27TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2016, :24-35
[10]   Test-case prioritization: achievements and challenges [J].
Hao, Dan ;
Zhang, Lu ;
Mei, Hong .
FRONTIERS OF COMPUTER SCIENCE, 2016, 10 (05) :769-777