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 条
  • [41] Iterative delta debugging
    Artho C.
    International Journal on Software Tools for Technology Transfer, 2011, 13 (3) : 223 - 246
  • [42] Clone detection algorithm based on the Abstract Syntax Tree approach
    Lazar, Flavius-Mihai
    Banias, Ovidiu
    2014 IEEE 9TH INTERNATIONAL SYMPOSIUM ON APPLIED COMPUTATIONAL INTELLIGENCE AND INFORMATICS (SACI), 2014, : 73 - 78
  • [43] Control-Flow-Only Abstract Syntax Trees for Analyzing Students' Programming Progress
    Hovemeyer, David
    Hellas, Arto
    Petersen, Andrew
    Spacco, Jaime
    PROCEEDINGS OF THE 2016 ACM CONFERENCE ON INTERNATIONAL COMPUTING EDUCATION RESEARCH (ICER'16), 2016, : 63 - 72
  • [44] PassSum: Leveraging paths of abstract syntax trees and self-supervision for code summarization
    Niu, Changan
    Li, Chuanyi
    Ng, Vincent
    Ge, Jidong
    Huang, Liguo
    Luo, Bin
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2023, 36 (06)
  • [45] CoCoAST: Representing Source Code via Hierarchical Splitting and Reconstruction of Abstract Syntax Trees
    Ensheng Shi
    Yanlin Wang
    Lun Du
    Hongyu Zhang
    Shi Han
    Dongmei Zhang
    Hongbin Sun
    Empirical Software Engineering, 2023, 28
  • [46] Learning-Based Recursive Aggregation of Abstract Syntax Trees for Code Clone Detection
    Buech, Lutz
    Andrzejak, Artur
    2019 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER), 2019, : 95 - 104
  • [47] fAST: regular expression inference from positive examples using Abstract Syntax Trees
    Raynal, Maxime
    Buob, Marc-Olivier
    Quenot, Georges
    INTERNATIONAL CONFERENCE ON GRAMMATICAL INFERENCE, VOL 217, 2023, 217 : 96 - 116
  • [48] CoCoAST: Representing Source Code via Hierarchical Splitting and Reconstruction of Abstract Syntax Trees
    Shi, Ensheng
    Wang, Yanlin
    Du, Lun
    Zhang, Hongyu
    Han, Shi
    Zhang, Dongmei
    Sun, Hongbin
    EMPIRICAL SOFTWARE ENGINEERING, 2023, 28 (06)
  • [49] How does a program run? A visual model based on Annotating Abstract Syntax Trees
    Choppella, Venkatesh
    Ahuja, Garima
    Mavalankar, Aditi
    PROCEEDINGS OF 2016 INTERNATIONAL CONFERENCE ON LEARNING AND TEACHING IN COMPUTING AND ENGINEERING (LATICE 2016), 2016, : 38 - 42
  • [50] A Spectral Approach for Probabilistic Grammatical Inference on Trees
    Bailly, Raphael
    Habrard, Amaury
    Denis, Francois
    ALGORITHMIC LEARNING THEORY, ALT 2010, 2010, 6331 : 74 - 88