• DocumentCode
    2657362
  • Title

    A software falsifier

  • Author

    Brand, Daniel

  • Author_Institution
    IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA
  • fYear
    2000
  • fDate
    2000
  • Firstpage
    174
  • Lastpage
    185
  • Abstract
    A falsifier is a tool for discovering errors by static source-code analysis. Its goal is to discover them while requiring minimal programmer effort. In contrast to lint-like tools or verifiers, which try to maximize the number of errors reported at the expense of allowing “false errors”, a falsifier´s goal is to guarantee no false errors. To further minimize programmer effort, no specification or extra information about the program is required. That, however, does not preclude project-specific information from being built in. The class of errors that are detectable without any specification is important not only because of the low cost of detection, but also because it includes errors of portability, irreproducible behavior, etc., which are very expensive to detect by testing. This paper describes the design and implementation of such a falsifier, and reports on experience with its use for design automation software. The main contribution of this work lies in combining data-flow analysis with symbolic execution to take advantage of their relative advantages
  • Keywords
    data flow analysis; electronic design automation; error detection; software portability; theorem proving; data-flow analysis; design automation software; detectable errors; error detection cost; false errors; irreproducible behavior; minimal programmer effort; program error discovery; project-specific information; software falsifier; software portability; static source-code analysis; symbolic execution; theorem proving; Costs; Data analysis; Design automation; Fault detection; Inspection; Leak detection; Program processors; Software performance; Software testing; Uncertainty;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Reliability Engineering, 2000. ISSRE 2000. Proceedings. 11th International Symposium on
  • Conference_Location
    San Jose, CA
  • ISSN
    1071-9458
  • Print_ISBN
    0-7695-0807-3
  • Type

    conf

  • DOI
    10.1109/ISSRE.2000.885870
  • Filename
    885870