Compiler Fuzzing: How Much Does It Matter?

被引:23
|
作者
Marcozzi, Michael [1 ]
Tang, Qiyi [1 ]
Donaldson, Alastair F. [1 ]
Cadar, Cristian [1 ]
机构
[1] Imperial Coll London, London, England
来源
基金
英国工程与自然科学研究理事会;
关键词
software testing; compilers; fuzzing; bug impact; Clang; LLVM;
D O I
10.1145/3360581
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Despite much recent interest in randomised testing (fuzzing) of compilers, the practical impact of fuzzer-found compiler bugs on real-world applications has barely been assessed. We present the first quantitative and qualitative study of the tangible impact of miscompilation bugs in a mature compiler. We follow a rigorous methodology where the bug impact over the compiled application is evaluated based on (1) whether the bug appears to trigger during compilation; (2) the extent to which generated assembly code changes syntactically due to triggering of the bug; and (3) whether such changes cause regression test suite failures, or whether we can manually find application inputs that trigger execution divergence due to such changes. The study is conducted with respect to the compilation of more than 10 million lines of C/C++ code from 309 Debian packages, using 12% of the historical and now fixed miscompilation bugs found by four state-of-the-art fuzzers in the Clang/LLVM compiler, as well as 18 bugs found by human users compiling real code or as a by-product of formal verification efforts. The results show that almost half of the fuzzer-found bugs propagate to the generated binaries for at least one package, in which case only a very small part of the binary is typically affected, yet causing two failures when running the test suites of all the impacted packages. User-reported and formal verification bugs do not exhibit a higher impact, with a lower rate of triggered bugs and one test failure. The manual analysis of a selection of the syntactic changes caused by some of our bugs (fuzzer-found and non fuzzer-found) in package assembly code, shows that either these changes have no semantic impact or that they would require very specific runtime circumstances to trigger execution divergence.
引用
收藏
页数:29
相关论文
共 50 条
  • [1] How much does parity matter?
    Heffner, LJ
    [J]. OBSTETRICS AND GYNECOLOGY, 2005, 106 (03): : 444 - 445
  • [2] HOW MUCH DOES INDUSTRY MATTER
    RUMELT, RP
    [J]. STRATEGIC MANAGEMENT JOURNAL, 1991, 12 (03) : 167 - 185
  • [3] HOW MUCH DOES CLASS MATTER
    OREILLY, B
    [J]. FORTUNE, 1990, 122 (03) : 123 - &
  • [4] STOCHASTIC HYDROLOGY - HOW MUCH HYDROLOGY DOES IT CONTAIN AND HOW MUCH DOES IT MATTER
    KLEMES, V
    [J]. ADVANCES IN APPLIED PROBABILITY, 1984, 16 (01) : 19 - 19
  • [5] How Many Physicians? How Much Does It Matter?
    Ricketts, Thomas C.
    [J]. JAMA-JOURNAL OF THE AMERICAN MEDICAL ASSOCIATION, 2009, 302 (15): : 1701 - 1702
  • [6] Does It Matter How and How Much Politicians are Paid?
    Altindag, Duha T.
    Filiz, Elif S.
    Tekin, Erdal
    [J]. ECONOMICA, 2020, 87 (348) : 1105 - 1132
  • [7] How Much Does Strategy Matter, Really?
    Klein, Peter G.
    Knudsen, Eirik Sjaholm
    Lien, Lasse B.
    [J]. MANAGEMENT, 2021, 24 (03): : 72 - 76
  • [8] How much does degree choice matter? *
    Britton, Jack
    van der Erve, Laura
    Belfield, Chris
    Vignoles, Anna
    Dickson, Matt
    Zhu, Yu
    Walker, Ian
    Dearden, Lorraine
    Sibieta, Luke
    Buscha, Franz
    [J]. LABOUR ECONOMICS, 2022, 79
  • [9] How much does industry matter, really?
    McGahan, AM
    Porter, ME
    [J]. STRATEGIC MANAGEMENT JOURNAL, 1997, 18 : 15 - 30
  • [10] HOW MUCH DOES GLOBAL WARMING MATTER
    BECKERMAN, W
    MALKIN, J
    [J]. PUBLIC INTEREST, 1994, (114) : 3 - 16