Parameterized Search Heuristic Prediction for Concolic Execution

Farnoushsadat Nilizadeh, Hamid Dashtbani, Maryam Mouzarani · 2023

Concolic testing is an effective but expensive program analysis technology widely used for detecting software vulnerabilities. In this approach, search heuristics play a key role in finding paths in a program. However, due to various structures of programs, one fixed search heuristic does not work well for all. In this regard, parameterized search heuristic has been introduced for each program, where the parameter values depend on program structures. The methods that use this search heuristic approach obtain the values of the parameters for each program, perform concolic execution on the programs, and analyze the execution repeatedly. Despite providing improved results, the reliance of these methods on repeating concolic execution adds time overhead to concolic testing. Therefore, to reduce the selection time of parameterized search heuristics, in this work, we proposed training two machine learning models to predict the parameterized search heuristics using programs' static features and their functions. Our experimental results on open-source C programs show that, on average, compared to the Chameleon approach which outperforms other methods based on coverage, our approach achieved approximately 2.5% lower coverage while reducing heuristic generation time and execution time by a factor of 21.

Read the paper · More papers on PaperTik