A Probabilistic Delta Debugging Approach for Abstract Syntax Trees

被引:1
|
作者
Wang, Guancheng [1 ]
Wu, Yiqian [1 ]
Zhu, Qihao [1 ]
Xiong, Yingfei [1 ]
Zhang, Xin [1 ]
Zhang, Lu [1 ]
机构
[1] Peking Univ, Sch Comp Sci, Minist Educ, Key Lab High Confidence Software Technol, Beijing 100871, Peoples R China
来源
2023 IEEE 34TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, ISSRE | 2023年
基金
中国国家自然科学基金;
关键词
Delta Debugging; Probabilistic Model; Abstract Syntax Tree;
D O I
10.1109/ISSRE59848.2023.00060
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Delta debugging provides an efficient and systematic approach to isolate and identify a minimal subsequence that exhibit a specific property. A notable trend in the development of delta debugging is to address data with domain-specific structures, such as programs. However, the efficiency and effectiveness of domain-specific delta debugging algorithms still present challenges. Probabilistic delta debugging (ProbDD) enhances the ddmin algorithm, which forms the foundation of most domain-specific delta debugging approaches, by incorporating a probabilistic model. By replacing the ddmin component with ProbDD, algorithms relying on ddmin can achieve superior performance. Meanwhile, domain-specific delta debugging techniques, such as Perses, have been designed to cater to the abstract syntax tree (AST) and follow predefined sequences of attempts to minimize programs. These techniques benefit from the use of AST-based transformations, enabling them to achieve even smaller results efficiently. However, we observe that ProbDD assumes independence between elements, which may limit their performance in capturing syntactic relationships. Additionally, domain-specific approaches such as Perses rely on a predefined sequence of attempts the removal of the element and fail to utilize the information from existing test results. In this paper, we propose T-PDD, a novel approach that addresses these limitations. T-PDD leverages the AST to construct a probabilistic model, both utilizing historical test results and capturing syntactic relationships to estimate the probabilities of elements being retained in the result. It selects a set of elements that maximizes the gain for the next test based on the model and updates the model using the test results. In our evaluation, we assess our approach on 107 real-world subjects. The results demonstrate an average improvement of 26.95% in processing time and a 3.4x reduction in result size compared to Perses in the best-case scenario.
引用
收藏
页码:763 / 773
页数:11
相关论文
共 50 条
  • [1] Probabilistic Delta Debugging
    Wang, Guancheng
    Shen, Ruobing
    Chen, Junjie
    Xiong, Yingfei
    Zhang, Lu
    PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 881 - 892
  • [2] Canonical Abstract Syntax Trees
    Reilles, Antoine
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 176 (04) : 165 - 179
  • [3] Uniform abstract syntax trees
    Clark, C
    ACM SIGPLAN NOTICES, 2000, 35 (02) : 11 - 16
  • [4] AN ALGORITHM FOR GENERATING ABSTRACT SYNTAX TREES
    NOONAN, RE
    COMPUTER LANGUAGES, 1985, 10 (3-4): : 225 - 236
  • [5] Toward a calculus for abstract syntax trees
    Wile, DS
    ALGORITHMIC LANGUAGES AND CALCULI, 1997, : 324 - 353
  • [6] An automatic approach to detecting and eliminating lazy classes based on abstract syntax trees
    Hu, Zhigang, 1600, Transport and Telecommunication Institute, Lomonosova street 1, Riga, LV-1019, Latvia (18):
  • [7] Migrating to an Extensible Architecture for Abstract Syntax Trees
    Couto, Luis Diogo
    Tran-Jorgensen, Peter W. V.
    Coleman, Joey W.
    Lausdahl, Kenneth
    2015 12TH WORKING IEEE/IFIP CONFERENCE ON SOFTWARE ARCHITECTURE (WICSA), 2015, : 145 - 154
  • [8] Augmenting abstract syntax trees for program understanding
    Welty, CA
    AUTOMATED SOFTWARE ENGINEERING, 12TH IEEE INTERNATIONAL CONFERENCE, PROCEEDINGS, 1997, : 126 - 133
  • [9] ASTLOG: A language for examining abstract syntax trees
    Crew, RF
    PROCEEDINGS OF THE CONFERENCE ON DOMAIN-SPECIFIC LANGUAGES, 1997, : 229 - 242
  • [10] Clone detection using abstract syntax trees
    Baxter, ID
    Yahin, A
    Moura, L
    Sant'Anna, M
    Bier, L
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1998, : 368 - 377