Modified condition/decision coverage (MC/DC) oriented compiler optimization for symbolic execution

Wei-jiang HONG, Yi-jun LIU, Zhen-bang CHEN, Wei DONG, Ji WANG

PDF(1350 KB)
PDF(1350 KB)
Front. Inform. Technol. Electron. Eng ›› 2020, Vol. 21 ›› Issue (9) : 1267-1284. DOI: 10.1631/FITEE.1900213
Orginal Article
Orginal Article

Modified condition/decision coverage (MC/DC) oriented compiler optimization for symbolic execution

Author information +
History +

Abstract

Symbolic execution is an effective way of systematically exploring the search space of a program, and is often used for automatic software testing and bug finding. The program to be analyzed is usually compiled into a binary or an intermediate representation, on which symbolic execution is carried out. During this process, compiler optimizations influence the effectiveness and efficiency of symbolic execution. However, to the best of our knowledge, there exists no work on compiler optimization recommendation for symbolic execution with respect to (w.r.t.) modified condition/decision coverage (MC/DC), which is an important testing coverage criterion widely used for mission-critical software. This study describes our use of a state-of-the-art symbolic execution tool to carry out extensive experiments to study the impact of compiler optimizations on symbolic execution w.r.t. MC/DC. The results indicate that instruction combining (IC) optimization is the important and dominant optimization for symbolic execution w.r.t. MC/DC. We designed and implemented a support vector machine based optimization recommendation method w.r.t. IC (denoted as auto). The experiments on two standard benchmarks (Coreutils and NECLA) showed that auto achieves the best MC/DC on 67.47% of Coreutils programs and 78.26% of NECLA programs.

Keywords

Compiler optimization / Modified condition/decision coverage (MC/DC) / Optimization recommendation / Symbolic execution

Cite this article

Download citation ▾
Wei-jiang HONG, Yi-jun LIU, Zhen-bang CHEN, Wei DONG, Ji WANG. Modified condition/decision coverage (MC/DC) oriented compiler optimization for symbolic execution. Front. Inform. Technol. Electron. Eng, 2020, 21(9): 1267‒1284 https://doi.org/10.1631/FITEE.1900213

RIGHTS & PERMISSIONS

2020 Zhejiang University and Springer-Verlag GmbH Germany, part of Springer Nature
PDF(1350 KB)

Accesses

Citations

Detail

Sections
Recommended

/