APIScanner——面向Python库中已弃用API的自动化检测
软件工程
2021-05-11 v4
摘要
Python库如今广泛用于机器学习和科学计算任务。与其他语言类似,Python库中的API因功能增强和缺陷修复而被弃用。这些已弃用API在后续软件开发中被不建议使用。由于项目中使用了大量API调用,手动检测并替换已弃用API是一项繁琐且耗时的任务。此外,这些已弃用API缺乏恰当文档,使该任务更具挑战性。为应对此挑战,我们提出一种算法及工具APIScanner,可自动检测Python库中的已弃用API。该算法利用抽象语法树(ASTs)解析库源代码,并通过装饰器、硬编码警告或注释识别已弃用API。APIScanner是一个Visual Studio Code扩展,可在编写源代码时高亮并警告开发者使用已弃用API元素。该工具无需执行代码即可帮助开发者避免使用已弃用API元素。我们在六个流行Python库上测试了算法与工具,检测出了871个已弃用API元素中的838个。APIScanner演示:https://youtu.be/1hy_ugf-iek。文档、工具与源代码见:https://rishitha957.github.io/APIScanner。
引用
@article{arxiv.2102.09251,
title = {APIScanner -- Towards Automated Detection of Deprecated APIs in Python Libraries},
author = {Aparna Vadlamani and Rishitha Kalicheti and Sridhar Chimalakonda},
journal= {arXiv preprint arXiv:2102.09251},
year = {2021}
}