kirancodes.me
To Proof Maintenance & Beyond!

Target-driven compositional concolic testing with function summary refinement for effective bug detection

Yunho Kim, Shin Hong, Moonzoo Kim

Abstract

Concolic testing is popular in unit testing because it can detect bugs quickly in a relatively small search space. But, in system-level testing, it suffers from the symbolic path explosion and often misses bugs. To resolve this problem, we have developed a focused compositional concolic testing technique, FOCAL, for effective bug detection. Focusing on a target unit failure v (a crash or an assert violation) detected by concolic unit testing, FOCAL generates a system-level test input that validates v. This test input is obtained by building and solving symbolic path formulas that represent system-level executions raising v. FOCAL builds such formulas by combining function summaries one by one backward from a function that raised v to main. If a function summary φa of function a conflicts with the summaries of the other functions, FOCAL refines φa to φa′ by applying a refining constraint learned from the conflict. FOCAL showed high system-level bug detection ability by detecting 71 out of the 100 real-world target bugs in the SIR benchmark, while other relevant cutting edge techniques (i.e., AFL-fast, KATCH, Mix-CCBSE) detected at most 40 bugs. Also, FOCAL detected 13 new crash bugs in popular file parsing programs.

BibTeX
@inproceedings{Kim-al:FSE19,
  author    = {Yunho Kim and
               Shin Hong and
               Moonzoo Kim},
  title     = {Target-driven compositional concolic testing with function summary refinement for effective bug detection},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {16--26},
  publisher = {{ACM}},
  year      = {2019},
}

Related papers