PYTER: Effective Program Repair for Python']Python Type Errors

被引:4
|
作者
Oh, Wonseok [1 ]
Oh, Hakjoo [1 ]
机构
[1] Korea Univ, Seoul, South Korea
基金
新加坡国家研究基金会;
关键词
Program Repair; Program Analysis; Debugging;
D O I
10.1145/3540250.3549130
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present PYTER, an automated program repair (APR) technique for Python type errors. Python developers struggle with type error exceptions that are prevalent and difficult to fix. Despite the importance, however, automatically repairing type errors in dynamically typed languages such as Python has received little attention in the APR community and no existing techniques are readily available for practical use. PYTER is the first technique that is carefully designed to fix diverse type errors in real-world Python applications. To this end, we present a novel APR approach that uses dynamic and static analyses to infer correct and incorrect types of program variables, and leverage their difference to effectively identify faulty locations and patch candidates. We evaluated PYTER on 93 type errors collected from open-source projects. The result shows that PYTER is able to fix 48.4% of them with a precision of 77.6%.
引用
收藏
页码:922 / 934
页数:13
相关论文
共 50 条
  • [1] BicePy: Bilingual Description of Compiler Errors in Python']Python
    Dunn, Cayden
    Ghosh, Krishnendu
    [J]. 2023 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, VL/HCC, 2023, : 229 - 231
  • [2] Fixing Dependency Errors for Python']Python Build Reproducibility
    Mukherjee, Suchita
    Almanza, Abigail
    Rubio-Gonzalez, Cindy
    [J]. ISSTA '21: PROCEEDINGS OF THE 30TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2021, : 439 - 451
  • [3] Implementation of a Python']Python Program to Simulate Sampling
    Dickson-Karn, Nicole M.
    Orosz, Steven
    [J]. JOURNAL OF CHEMICAL EDUCATION, 2021, 98 (10) : 3251 - 3257
  • [4] Study of defects in a program code in Python']Python
    Bronshteyn, I. E.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2013, 39 (06) : 279 - 284
  • [5] Static Type Analysis for Python']Python
    Dong, Tiancong
    Chen, Lin
    Xu, Zhaogui
    Yu, Bin
    [J]. 2014 11TH WEB INFORMATION SYSTEM AND APPLICATION CONFERENCE (WISA), 2014, : 65 - 68
  • [6] Static Type Recommendation for Python']Python
    Sun, Ke
    Zhao, Yifan
    Hao, Dan
    Zhang, Lu
    [J]. PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022, 2022,
  • [7] Generative Type Inference for Python']Python
    Peng, Yun
    Wang, Chaozheng
    Wang, Wenxuan
    Gao, Cuiyun
    Lyu, Michael R.
    [J]. 2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE, 2023, : 988 - 999
  • [8] PySmooth: a Python']Python tool for the removal and correction of genotyping errors
    Soibam, Benjamin
    Roman, Gregg
    [J]. BMC RESEARCH NOTES, 2024, 17 (01)
  • [9] JRgui: A Python']Python Program of Joback and Reid Method
    Shi, Chenyang
    Borchardt, Thomas B.
    [J]. ACS OMEGA, 2017, 2 (12): : 8682 - 8688
  • [10] Why scientists should learn to program in Python']Python
    Ayer, Vidya M.
    Miguez, Sheila
    Toby, Brian H.
    [J]. POWDER DIFFRACTION, 2014, 29 : S48 - S64