CISPA
Browse

Abstracting Failure-Inducing Inputs

Download (619.27 kB)
conference contribution
posted on 2023-11-29, 18:13 authored by Rahul Gopinath, Alexander Kampmann, Nikolas Havrikov, Ezekiel Soremekun, Andreas ZellerAndreas Zeller
A program fails. Under which circumstances does the failure occur? Starting with a single failure-inducing input "The input '((4))' fails") and an input grammar, the DDSET algorithm uses systematic tests to automatically generalize the input to an _abstract failure-inducing input_ that contains both (concrete) terminal symbols and (abstract) nonterminal symbols from the grammar - for instance, "(())", which represents any expression in double parentheses. Such an abstract failure-inducing input can be used 1. as a *debugging diagnostic*, characterizing the circumstances under which a failure occurs ("The error occurs whenever an expression is enclosed in double parentheses"); 2. as a *producer* of additional failure-inducing tests to help design and validate fixes and repair candidates ("The inputs '((1))', '((3 * 4))', and many more also fail"). In its evaluation on real-world bugs in JavaScript, Clojure, Lua, and Coreutils, DDSET's abstract failure-inducing inputs provided to-the-point diagnostics, and precise producers for further failure inducing inputs.

History

Preferred Citation

Rahul Gopinath, Alexander Kampmann, Nikolas Havrikov, Ezekiel Soremekun and Andreas Zeller. Abstracting Failure-Inducing Inputs. In: International Symposium on Software Testing and Analysis (ISSTA). 2020.

Primary Research Area

  • Secure Connected and Mobile Systems

Name of Conference

International Symposium on Software Testing and Analysis (ISSTA)

Legacy Posted Date

2020-06-08

Open Access Type

  • Unknown

BibTeX

@inproceedings{cispa_all_3103, title = "Abstracting Failure-Inducing Inputs", author = "Gopinath, Rahul and Kampmann, Alexander and Havrikov, Nikolas and Soremekun, Ezekiel and Zeller, Andreas", booktitle="{International Symposium on Software Testing and Analysis (ISSTA)}", year="2020", }

Usage metrics

    Categories

    No categories selected

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC