figshare
Browse

MFH: A Multi-faceted Heuristic Algorithm Selection Approach for Software Verification

Download (150.86 MB) This item is shared privately
dataset
modified on 2025-03-27, 13:56

Currently, many verification algorithms are available to improve the reliability of software systems. Selecting

the appropriate verification algorithm typically demands domain expertise and non-trivial manpower. An

automated algorithm selector is thus desired. However, existing selectors, either depend on machine-learned

strategies or manually designed heuristics, encounter issues such as reliance on high-quality samples with

algorithm labels and limited scalability. In this paper, an automated algorithm selection approach, namely

MFH, is proposed for software verification. Our approach leverages the heuristics that verifiers producing

correct results typically implement certain appropriate algorithms, and the supported algorithms by these

verifiers indirectly reflect which ones are potentially applicable. Specifically, MFH embeds the code property

graph (CPG) of a semantic-preserving transformed program to enhance the robustness of the prediction

model. Furthermore, our approach decomposes the selection task into the sub-tasks of predicting potentially

applicable algorithms and matching the most appropriate verifiers. Additionally, MFH also introduces a feedback

loop on incorrect predictions to improve model prediction accuracy. We evaluate MFH on 20 verifiers and over

15,000 verification tasks. Experimental results demonstrate the effectiveness of MFH, achieving a prediction

accuracy of 91.47% even without algorithm labels provided during the training phase. Moreover, the prediction

accuracy decreases only by 0.84% when introducing 10 new verifiers, indicating the strong scalability of the

proposed approach.

    Categories

    No categories selected

    Licence