A Multi-Layer Fault Triggering Framework based on Evolutionary Strategy Guided Symbolic Execution for Automated Test Case Generation

被引:0
作者
Duan, Zhiyu [1 ]
Li, Yujia [2 ]
Ma, Pubo [1 ]
Gou, Xiaodong [1 ]
Yang, Shunkun [1 ]
机构
[1] Beihang Univ, 37 Xueyuan Rd, Beijing, Peoples R China
[2] China Elect Power Res Inst, 15 East Xiaoying Rd, Beijing, Peoples R China
来源
2022 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY, AND SECURITY COMPANION, QRS-C | 2022年
关键词
Evolutionary algorithm; symbolic execution; software fault; automated test case generation;
D O I
10.1109/QRS-C57518.2022.00045
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The powerful technique, symbolic execution, has become a promising approach for analyzing deep complex software failure modes recently. However, as the software scale grows rapidly in intelligent automatic control system, these methods unavoidably suffer the curse of path explosion and low global coverage. To solve the problem, an evolutionary strategy guided symbolic execution framework is proposed for triggering hardto-excite input-relevant faults. A novel alternate asynchronous search strategy is adopted to enhance the breadth-search capability of symbol execution. Furthermore, by combining ANGR, a popular symbolic execution engine, and genetic algorithm, this method synchronously triggers the potentially hidden hybrid fault modes at different levels in the software architecture. Case studies on the SIR test suite demonstrate that the GA-enhanced symbolic execution greatly improves coverage and accelerates test convergence. Among them, the coverage rate has increased by up to 23.7%. With a baseline of 95% line coverage, the proposed method can reduce the number of iterations by at least 43.3%.
引用
收藏
页码:255 / 262
页数:8
相关论文
共 21 条
[1]  
Cadar C., 2008, P 2008 C OPERATING
[2]   EXE: Automatically Generating Inputs of Death [J].
Cadar, Cristian ;
Ganesh, Vijay ;
Pawlowski, Peter M. ;
Dill, David L. ;
Engler, Dawson R. .
ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2008, 12 (02)
[3]  
Chipounov V, 2011, ACM SIGPLAN NOTICES, V46, P265, DOI [10.1145/1961295.1950396, 10.1145/1961296.1950396]
[4]   DART: Directed automated random testing [J].
Godefroid, P ;
Klarlund, N ;
Sen, K .
ACM SIGPLAN NOTICES, 2005, 40 (06) :213-223
[5]   SAGE: Whitebox Fuzzing for Security Testing [J].
Godefroid, Patrice ;
Levin, Michael Y. ;
Molinar, David .
COMMUNICATIONS OF THE ACM, 2012, 55 (03) :40-44
[6]   Conc-iSE: Incremental Symbolic Execution of Concurrent Software [J].
Guo, Shengjian ;
Kusano, Markus ;
Wang, Chao .
2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2016, :531-542
[7]   Learning to Explore Paths for Symbolic Execution [J].
He, Jingxuan ;
Sivanrupan, Gishor ;
Tsankov, Petar ;
Vechev, Martin .
CCS '21: PROCEEDINGS OF THE 2021 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2021, :2526-2540
[8]  
Mues Malte, 2022, INT C TOOLS ALGORITH
[9]   Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets [J].
Panichella, Annibale ;
Kifetew, Fitsum Meshesha ;
Tonella, Paolo .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2018, 44 (02) :122-158
[10]  
Qin SJ, 2012, IEEE DECIS CONTR P, P7018, DOI 10.1109/CDC.2012.6426571