An empirical study of fault localization in Python']Python programs

被引:0
|
作者
Rezaalipour, Mohammad [1 ]
Furia, Carlo A. [1 ]
机构
[1] Univ Svizzera Italiana, Software Inst, Lugano, Switzerland
关键词
Fault localization; Debugging; !text type='Python']Python[!/text; Empirical study;
D O I
10.1007/s10664-024-10475-3
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Despite its massive popularity as a programming language, especially in novel domains like data science programs, there is comparatively little research about fault localization that targets Python. Even though it is plausible that several findings about programming languages like C/C++ and Java-the most common choices for fault localization research-carry over to other languages, whether the dynamic nature of Python and how the language is used in practice affect the capabilities of classic fault localization approaches remain open questions to investigate. This paper is the first multi-family large-scale empirical study of fault localization on real-world Python programs and faults. Using Zou et al.'s recent large-scale empirical study of fault localization in Java (Zou et al. 2021) as the basis of our study, we investigated the effectiveness (i.e., localization accuracy), efficiency (i.e., runtime performance), and other features (e.g., different entity granularities) of seven well-known fault-localization techniques in four families (spectrum-based, mutation-based, predicate switching, and stack-trace based) on 135 faults from 13 open-source Python projects from the BugsInPy curated collection (Widyasari et al. 2020). The results replicate for Python several results known about Java, and shed light on whether Python's peculiarities affect the capabilities of fault localization. The replication package that accompanies this paper includes detailed data about our experiments, as well as the tool FauxPy that we implemented to conduct the study.
引用
收藏
页数:59
相关论文
共 50 条
  • [1] Interactive Fault Localization for Python']Python with CharmFL
    Szatmari, Attila
    Sarhan, Qusay Idrees
    Beszedes, Arpad
    PROCEEDINGS OF THE 13TH INTERNATIONAL WORKSHOP ON AUTOMATING TEST CASE DESIGN, SELECTION AND EVALUATION, A-TEST 2022, 2022, : 33 - 36
  • [2] CharmFL: A Fault Localization Tool for Python']Python
    Sarhan, Qusay Idrees
    Szatmari, Attila
    Toth, Rajmond
    Beszedes, Arpad
    IEEE 21ST INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2021), 2021, : 114 - 119
  • [3] An Empirical Study on the Fault-Inducing Effect of Functional Constructs in Python']Python
    Zampetti, Fiorella
    Belias, Francois
    Zid, Cyrine
    Antoniol, Giuliano
    Di Penta, Massimiliano
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2022), 2022, : 47 - 58
  • [4] Poster: Improving Spectrum Based Fault Localization For Python']Python Programs Using Weighted Code Elements
    Sarhan, Qusay Idrees
    Beszedes, Arpad
    2023 IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION, ICST, 2023, : 478 - 481
  • [5] Empirical Study of Python']Python Call Graph
    Li, Yu
    34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, : 1274 - 1276
  • [6] An Empirical Study of Flaky Tests in Python']Python
    Gruber, Martin
    Lukasczyk, Stephan
    Krois, Florian
    Fraser, Gordon
    2021 14TH IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST 2021), 2021, : 148 - 158
  • [7] An Empirical Study on Bugs in Python']Python Interpreters
    Wang, Ziyuan
    Bu, Dexin
    Sun, Aiyue
    Gou, Shanyi
    Wang, Yong
    Chen, Lin
    IEEE TRANSACTIONS ON RELIABILITY, 2022, 71 (02) : 716 - 734
  • [8] ProPy: Prolog-based Fault Localization Tool for Python']Python
    Morin, Janneke
    Ghosh, Krishnendu
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022), 2022, : 1179 - 1182
  • [9] Quantifying the Transition from Python']Python 2 to 3: An Empirical Study of Python']Python Applications
    Malloy, Brian A.
    Power, James F.
    11TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2017), 2017, : 314 - 323
  • [10] On the Security of Python']Python Virtual Machines: An Empirical Study
    Lin, Xinrong
    Hua, Baojian
    Fan, Qiliang
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2022), 2022, : 223 - 234