Netinfo Security ›› 2018, Vol. 18 ›› Issue (9): 86-94.doi: 10.3969/j.issn.1671-1122.2018.09.014

• Orginal Article • Previous Articles     Next Articles

Symbolic Execution Optimization Methods for Specific File Structures and Key Instructions

Hu CHEN1, Yao ZHOU1, Junsuo ZHAO2   

  1. 1.School of Software Engineering, South China University of Technology, Guangzhou Guangdong 510006, China
    2.Institute of Software, Chinese Academy of Science, Beijing 100190, China
  • Received:2018-07-17 Online:2018-09-30 Published:2020-05-11

Abstract:

In view of the lack of file structure information and path explosion in symbol execution, this paper puts forward the optimization method respectively. The parameter immobilization method maintains the file structure information field as a fixed value in the newly generated test case to ensure the legality of the file format. The pruning method for key instruction that combines static analysis technology ensures symbol execution to only produce test cases that can cover key instructions. This paper also proposes two optimization methods which are test case selection strategy based on path depth and the coverage rate and constraint solving parallelization to improve the efficiency of symbol execution. Experiments show that the proposed optimization method can find vulnerabilities that the original symbolic execution tool can't detect. The efficiency of symbolic execution is increased by nearly 43 times, which confirms the effectiveness of the optimization methods.

Key words: symbolic execution, static analysis, constraint solving

CLC Number: