• DocumentCode
    1607318
  • Title

    Hercules: Reproducing Crashes in Real-World Application Binaries

  • Author

    Van-Thuan Pham ; Wei Boon Ng ; Rubinov, Konstantin ; Roychoudhury, Abhik

  • Author_Institution
    Sch. of Comput., Nat. Univ. of Singapore, Singapore, Singapore
  • Volume
    1
  • fYear
    2015
  • Firstpage
    891
  • Lastpage
    901
  • Abstract
    Binary analysis is a well-investigated area in software engineering and security. Given real-world program binaries, generating test inputs which cause the binaries to crash is crucial. Generation of crashing inputs has many applications including off-line analysis of software prior to deployment, or online analysis of software patches as they are inserted. In this work, we present a method for generating inputs which reach a given "potentially crashing" location. Such potentially crashing locations can be found by a separate static analysis (or by gleaning crash reports submitted by internal / external users) and serve as the input to our method. The test input generated by our method serves as a witness of the crash. Our method is particularly suited for binaries of programs which take in complex structured inputs. Experiments on real-life applications such as the Adobe Reader and the Windows Media Player demonstrate that our Hercules tool built on selective symbolic execution engine S2E can generate crashing inputs within few hours, where symbolic approaches (as embodied by S2E) or blackbox fuzzing approaches (as embodied by the commercial tool PeachFuzzer) failed.
  • Keywords
    security of data; software tools; Adobe Reader; Hercules tool; S2E; Windows Media Player; binary analysis; crash reproduction; selective symbolic execution engine; software engineering; software off-line analysis; software security; Ash; Computer crashes; Concrete; Heuristic algorithms; Hybrid power systems; Registers; Search problems; binary analysis; symbolic execution; test generation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
  • Conference_Location
    Florence
  • Type

    conf

  • DOI
    10.1109/ICSE.2015.99
  • Filename
    7194635