Thu 26 Aug 2021 23:20 - 23:30 - Testing—Debugging 2 Chair(s): Emerson Murphy-Hill
The delta debugging problem concerns how to reduce an object while preserving a certain property, and widely exists in many applications, such as compiler development, regression fault localization, and software debloating.
Given the importance of delta debugging, multiple algorithms have been proposed to solve the delta debugging problem efficiently and effectively. However, the efficiency and effectiveness of the state-of-the-art algorithms are still not satisfactory. For example, the state-of-the-art delta debugging tool, CHISEL, may take up to 3 hours to reduce a single program with 14,092 lines of code, while the reduced program may be up to 2 times unnecessarily large.
In this paper, we propose a probabilistic delta debugging algorithm (named ProbDD) to improve the efficiency and the effectiveness of delta debugging. Our key insight is, the ddmin algorithm, the basic algorithm upon which many existing approaches are built, follows a predefined sequence of attempts to remove elements from a sequence, and fails to utilize the information from existing test results. To address this problem, ProbDD builds a probabilistic model to estimate the probabilities of the elements to be kept in the produced result, selects a set of elements to maximize the gain of the next test based on the model, and improves the model based on the test results.
We prove the correctness of ProbDD, and analyze the minimality of its result and the asymptotic number of tests under the worst case. The asymptotic number of tests in the worst case of ProbDD is $O(n)$, which is smaller than that of ddmin, $O(n^2)$ worst-case asymptotic number of tests. Furthermore, we experimentally compared ProbDD with ddmin on 40 subjects in HDD and CHISEL, two approaches that wrap ddmin for reducing trees and C programs, respectively.
The results show that, after replacing ddmin with ProbDD, HDD and CHISEL produce 59.48% and 11.51% smaller results and use 63.22% and 45.27% less time, respectively.
Thu 26 AugDisplayed time zone: Athens change
11:00 - 12:00 | |||
11:00 10mPaper | Detecting and Localizing Keyboard Accessibility Failures in Web Applications Research Papers Paul T. Chiou University of Southern California, Ali S. Alotaibi University of Southern California, William G.J. Halfond University of Southern California DOI | ||
11:10 10mPaper | Swarmbug: Debugging Configuration Bugs in Swarm Robotics Research Papers Chijung Jung University of Virginia, Ali Ahad University of Virginia, Jinho Jung Georgia Institute of Technology, Sebastian Elbaum University of Virginia, Yonghwi Kwon University of Virginia DOI | ||
11:20 10mPaper | Probabilistic Delta DebuggingDistinguished Paper Award Research Papers Guancheng Wang Peking University, Ruobing Shen Peking University, Junjie Chen Tianjin University, Yingfei Xiong Peking University, Lu Zhang Peking University DOI Pre-print | ||
11:30 30mLive Q&A | Q&A (Testing—Debugging 2) Research Papers |
23:00 - 00:00 | |||
23:00 10mPaper | Detecting and Localizing Keyboard Accessibility Failures in Web Applications Research Papers Paul T. Chiou University of Southern California, Ali S. Alotaibi University of Southern California, William G.J. Halfond University of Southern California DOI | ||
23:10 10mPaper | Swarmbug: Debugging Configuration Bugs in Swarm Robotics Research Papers Chijung Jung University of Virginia, Ali Ahad University of Virginia, Jinho Jung Georgia Institute of Technology, Sebastian Elbaum University of Virginia, Yonghwi Kwon University of Virginia DOI | ||
23:20 10mPaper | Probabilistic Delta DebuggingDistinguished Paper Award Research Papers Guancheng Wang Peking University, Ruobing Shen Peking University, Junjie Chen Tianjin University, Yingfei Xiong Peking University, Lu Zhang Peking University DOI Pre-print | ||
23:30 30mLive Q&A | Q&A (Testing—Debugging 2) Research Papers |