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 条
  • [21] Analysis of Decompiled Program Code Using Abstract Syntax Trees
    Gribkov, N. A.
    Ovasapyan, T. D.
    Moskvin, D. A.
    AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2023, 57 (08) : 958 - 967
  • [22] A new approach to abstract syntax with variable binding
    Gabbay, Murdoch J.
    Pitts, Andrew M.
    Formal Aspects of Computing, 2002, 13 (3-5) : 341 - 363
  • [23] Abstract syntax driven approach for language composition
    Chodarev, Sergej
    Lakatos, Dominik
    Porubaen, Jaroslav
    Kollar, Jan
    OPEN COMPUTER SCIENCE, 2014, 4 (03) : 107 - 117
  • [24] Temporal Abstract Syntax Trees for Understanding Student Coding Thought Process
    Moore, Delaney
    Edwards, John
    Karimi, Hamid
    Khadka, Rajiv
    Bodily, Paul
    2022 INTERMOUNTAIN ENGINEERING, TECHNOLOGY AND COMPUTING (IETC), 2022,
  • [25] Malware classification through Abstract Syntax Trees and L-moments
    Rose, Anthony J.
    Kabban, Christine M. Schubert
    Graham, Scott R.
    Henry, Wayne C.
    Rondeau, Christopher M.
    COMPUTERS & SECURITY, 2025, 148
  • [26] VAST - Visualization of Abstract Syntax Trees within Language Processors Courses
    Almeida-Martinez, Francisco J.
    Urquiza-Fuentes, Jaime
    Velazquez-Iturbide, J. Angel
    SOFTVIS 2008: PROCEEDINGS OF THE 4TH ACM SYMPOSIUM ON SOFTWARE VISUALIZATION, 2008, : 209 - 210
  • [27] Generator of efficient strongly typed abstract syntax trees in Java']Java
    van den Brand, M
    Moreau, PE
    Vinju, J
    IEE PROCEEDINGS-SOFTWARE, 2005, 152 (02): : 70 - 78
  • [28] PSIMINER: A Tool for Mining Rich Abstract Syntax Trees from Code
    Spirin, Egor
    Bogomolov, Egor
    Kovalenko, Vladimir
    Bryksin, Timofey
    2021 IEEE/ACM 18TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2021), 2021, : 13 - 17
  • [29] A Probabilistic Approach for Counterexample Generation to Aid Design Debugging
    Behnam, Payman
    Sabaghian-Bidgoli, Hossein
    Alizadeh, Bijan
    Mohajerani, Kamyar
    Navabi, Zainalabedin
    PROCEEDINGS OF IEEE EAST-WEST DESIGN & TEST SYMPOSIUM (EWDTS 2013), 2013,
  • [30] Abstract Debugging with GobPie
    Holter, Karoliine
    Hennoste, Juhan Oskar
    Saan, Simmo
    Lam, Patrick
    Vojdani, Vesal
    PROCEEDINGS OF THE 2ND ACM INTERNATIONAL WORKSHOP ON FUTURE DEBUGGING TECHNIQUES, DEBT 2024, 2024, : 32 - 33