Debugging inputs
Lukas Kirschner, Ezekiel O. Soremekun, Andreas Zeller
Abstract
When a program fails to process an input, it need not be the program code that is at fault. It can also be that the input data is faulty, for instance as result of data corruption. To get the data processed, one then has to debug the input data---that is, (1) identify which parts of the input data prevent processing, and (2) recover as much of the (valuable) input data as possible. In this paper, we present a general-purpose algorithm called ddmax that addresses these problems automatically. Through experiments, ddmax maximizes the subset of the input that can still be processed by the program, thus recovering and repairing as much data as possible; the difference between the original failing input and the "maximized" passing input includes all input fragments that could not be processed. To the best of our knowledge, ddmax is the first approach that fixes faults in the input data without requiring program analysis. In our evaluation, ddmax repaired about 69% of input files and recovered about 78% of data within one minute per input.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get af18e135-3dfa-4a45-9d5f-f7bffe16f33aCited by top-tier papers7
- MAAT: a novel ensemble approach to addressing fairness and performance bugs for machine learning softwareZhenpeng Chen, Jie M. Zhang, Federica Sarro, Mark HarmanFSE 2022 · 65 citations
- Mining input grammars from dynamic control flowRahul Gopinath, Björn Mathis, Andreas ZellerFSE 2020 · 60 citations
- Semantic DebuggingMartin Eberlein, Marius Smytzek, Dominic Steinhöfel, Lars Grunske et al.FSE 2023 · 13 citations
- HardsHeap: A Universal and Extensible Framework for Evaluating Secure AllocatorsInsu Yun, Woosun Song, Seunggi Min, Taesoo KimCCS 2021 · 10 citations
- Repairing Failure-inducing Inputs with Input ReflectionYan Xiao, Yun Lin, Ivan Beschastnikh, Changsheng Sun et al.ASE 2022 · 8 citations
Related papers
- Abstracting failure-inducing inputsRahul Gopinath, Alexander Kampmann, Nikolas Havrikov, Ezekiel O. Soremekun et al.ISSTA 2020 · 22 citations
- Input Reduction Enhanced LLM-based Program RepairBoyang Yang, Luyao Ren, Xin Yin, Jiadong Ren et al.ICSE 2026 · 1 citation
- Contribution Maximization in Probabilistic DatalogTova Milo, Yuval Moskovitch, Brit YoungmannICDE 2020 · 2 citations
- A Bayesian Framework for Automated DebuggingSungmin Kang, Wonkeun Choi, Shin YooISSTA 2023 · 1 citation
- CREDAL: Towards Locating a Memory Corruption Vulnerability with Your Core DumpJun Xu, Dongliang Mu, Ping Chen, Xinyu Xing et al.CCS 2016 · 48 citations
