当前位置: X-MOL 学术Front. Inform. Technol. Electron. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Modified condition/decision coverage (MC/DC) oriented compiler optimization for symbolic execution
Frontiers of Information Technology & Electronic Engineering ( IF 3 ) Pub Date : 2020-06-26 , DOI: 10.1631/fitee.1900213
Wei-jiang Hong , Yi-jun Liu , Zhen-bang Chen , Wei Dong , Ji Wang

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.



中文翻译:

面向条件/决策覆盖(MC / DC)的面向编译器的符号执行优化

符号执行是系统地探索程序搜索空间的有效方法,通常用于自动软件测试和错误查找。通常将要分析的程序编译为二进制或中间表示形式,在该表示形式上执行符号执行。在此过程中,编译器优化会影响符号执行的有效性和效率。但是,据我们所知,还没有针对(wrt)修改后的条件/决策覆盖率(MC / DC)进行符号执行的编译器优化建议的工作,这是广泛用于关键任务的重要测试覆盖率准则软件。这项研究描述了我们使用最先进的符号执行工具进行广泛的实验,以研究编译器优化对MC / DC的符号执行的影响。结果表明,指令组合(IC)优化是MC / DC符号执行的重要和主导优化。我们设计并实现了一种基于支持向量机的IC的优化推荐方法(称为自动)。在两个标准基准测试(Coreutils和NECLA)上进行的实验表明,汽车在Coreutils程序的67.47%和NECLA程序的78.26%上获得了最佳的MC / DC。我们设计并实现了一种基于支持向量机的IC的优化推荐方法(称为自动)。在两个标准基准测试(Coreutils和NECLA)上进行的实验表明,汽车在Coreutils程序的67.47%和NECLA程序的78.26%上获得了最佳的MC / DC。我们设计并实现了一种基于支持向量机的IC的优化推荐方法(称为自动)。在两个标准基准测试(Coreutils和NECLA)上进行的实验表明,在Coreutils程序的67.47%和NECLA程序的78.26%上,汽车获得了最佳的MC / DC。

更新日期:2020-06-26
down
wechat
bug