Software developers use Application Programming Interfaces (APIs) of libraries and frameworks extensively while writing programs. In this context, the recommendations provided in code completion pop-ups help developers choose the desired methods. The candidate lists recommended by these tools, however, tend to be large, ordered alphabetically and sometimes even incomplete. A fair amount of work has been done recently to improve the relevance of these code completion results, especially for statically typed languages like Java. However, these proposed techniques rely on the static type of the object and are therefore inapplicable for a dynamically typed language like Python. In this paper, we present PyReco, an intelligent code completion system for Python which uses the mined API usages from open source repositories to order the results based on relevance rather than the conventional alphabetic order. To recommend suggestions that are relevant for a working context, a nearest neighbor classifier is used to identify the best matching usage among all the extracted usage patterns. To evaluate the effectiveness of our system, the code completion queries are automatically extracted from projects and tested quantitatively using a ten-fold cross validation technique. The evaluation shows that our approach outperforms the alphabetically ordered API recommendation systems in recommending APIs for standard, as well as, third-party libraries.
PCART: Automated Repair of Python API Parameter Compatibility Issues
Key Laboratory for Safety-critical Software Development and Verification, Nanjing University of Aeronautics and Astronautics(南京航空航天大学安全关键软件开发与验证重点实验室);State Key Lab. for Novel Software Technology, Nanjing University(南京大学软件新技术国家重点实验室);Department of Computer Science and Engineering, Southern University of Science and Technology(南方科技大学计算机科学与工程系);School of Automation Science and Electrical Engineering, Beihang University(北京航空航天大学自动化科学与电气工程学院)
PCART 是首个自动修复 Python API 参数兼容性问题的工具,通过自动化提取、仪器化、映射、评估、修复和验证,有效检测并修复多种参数变化问题。
Harnessing LLMs for Document-Guided Fuzzing of Python Libraries
The University of Queensland(昆士兰大学);Texas A&M University–Kingsville(德克萨斯农工大学金斯维尔分校);Central Queensland University(中昆士兰大学);University of Illinois Chicago(伊利诺伊大学芝加哥分校)
Evolution of Deprecated APIs and Their Replacements in Python Libraries
College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics(南京航空航天大学计算机科学与技术学院);Key Laboratory for Safety-critical Software Development and Verification, Nanjing University of Aeronautics and Astronautics(南京航空航天大学安全关键软件开发与验证重点实验室);State Key Laboratory for Novel Software Technology, Nanjing University(南京大学软件新技术国家重点实验室)
PHOTONAI -- A Python API for Rapid Machine Learning Model Development
Institute for Translational Psychiatry, University of Münster(明斯特大学转化精神病学研究所);Faculty of Mathematics and Computer Science, University of Münster(明斯特大学数学与计算机科学学院)
PCREQ: Automated Inference of Compatible Requirements for Python Third-party Library Upgrades
Nanjing University of Aeronautics and Astronautics(南京航空航天大学);Nanjing University(南京大学);Southern University of Science and Technology(南方科技大学);Beihang University(北京航空航天大学)
Pop Quiz! Do Pre-trained Code Models Possess Knowledge of Correct API Names?
Monash University(莫纳什大学);CSIRO’s Data61(联邦科学与工业研究组织Data61);Australian National University(澳大利亚国立大学);Beihang University(北京航空航天大学);University of New South Wales(新南威尔士大学)
What Was Once Learned May Need to Be Unlearned: Machine Unlearning for Deprecated API Knowledge in Large Language Models
School of Computer Science, Wuhan University(武汉大学计算机学院);Department of Computer Science, City University of Hong Kong(香港城市大学计算机科学系);School of Information Technology, Deakin University(迪肯大学信息技术学院);The State Key Laboratory of Blockchain and Data Security, Zhejiang University(浙江大学区块链与数据安全国家重点实验室);School of Science and Technology, Hong Kong Metropolitan University(香港都会大学理学院)
Embedding API Dependency Graph for Neural Code Generation
Shandong Normal University(山东师范大学);The University of Newcastle(纽卡斯尔大学);Big Data Center of Shandong Province(山东省大数据中心);Institute of Information Engineering, Chinese Academy of Sciences(中国科学院信息工程研究所);University of Chinese Academy of Sciences(中国科学院大学)