Page 53 - 《软件学报》2025年第4期
P. 53
沈阚 等: 基于静态分析的 Python 第三方库 API 兼容性问题检测方法 1459
27th Int’l Conf. on Software Analysis, Evolution and Reengineering (SANER). London: IEEE, 2020. 81–92. [doi: 10.1109/SANER48275.
2020.9054800]
[3] Haryono SA, Thung F, Lo D, Lawall J, Jiang LX. Characterization and automatic updates of deprecated machine-learning API usages. In:
Proc. of the 2021 IEEE Int’l Conf. on Software Maintenance and Evolution (ICSME). Luxembourg: IEEE, 2021. 137–147. [doi: 10.1109/
ICSME52107.2021.00019]
[4] Du XL, Ma J. AexPy: Detecting API breaking changes in python packages. In: Proc. of the 33rd Int’l Symp. on Software Reliability
Engineering (ISSRE). Charlotte: IEEE, 2022. 470–481. [doi: 10.1109/ISSRE55969.2022.00052]
[5] Mostafa S, Rodriguez R, Wang XY. Experience paper: A study on behavioral backward incompatibilities of Java software libraries. In:
Proc. of the 26th ACM SIGSOFT Int’l Symp. on Software Testing and Analysis. Santa Barbara: ACM, 2017. 215–225. [doi: 10.1145/
3092703.3092721]
[6] Brito A, Xavier L, Hora A, Valente MT. Why and how Java developers break APIs. In: Proc. of the 25th Int’l Conf. on Software
Analysis, Evolution and Reengineering (SANER). Campobasso: IEEE, 2018. 255–265. [doi: 10.1109/SANER.2018.8330214]
[7] Zhao YJ, Li L, Liu K, Grundy J. Towards automatically repairing compatibility issues in published Android Apps. In: Proc. of the 44th
Int’l Conf. on Software Engineering. Pittsburgh: ACM, 2022. 2142–2153. [doi: 10.1145/3510003.3510128]
[8] Xia H, Zhang Y, Zhou YT, Chen XT, Wang Y, Zhang XY, Cui SS, Hong G, Zhang XH, Yang M, Yang ZM. How Android developers
libraries in Java projects. In: Proc. of the 2020 IEEE Int’l Conf. on Software Maintenance and Evolution (ICSME). Adelaide: IEEE, 2020.
handle evolution-induced API compatibility issues: A large-scale study. In: Proc. of the 42nd Int’l Conf. on Software Engineering. Seoul:
ACM, 2020. 886–898. [doi: 10.1145/3377811.3380357]
[9] Wei LL, Liu YP, Cheung SC, Huang HX, Lu X, Liu XZ. Understanding and detecting fragmentation-induced compatibility issues for
Android apps. IEEE Trans. on Software Engineering, 2020, 46(11): 1176–1199. [doi: 10.1109/TSE.2018.2876439]
[10] Chen LC, Hassan F, Wang XY, Zhang LM. Taming behavioral backward incompatibilities via cross-project testing and analysis. In: Proc.
of the 42nd Int’l Conf. on Software Engineering. Seoul: ACM, 2020. 112–124. [doi: 10.1145/3377811.3380436]
[11] Sun XY, Chen X, Zhao YJ, Liu P, Grundy J, Li L. Mining Android API usage to generate unit test cases for pinpointing compatibility
issues. In: Proc. of the 37th IEEE/ACM Int’l Conf. on Automated Software Engineering. Rochester: ACM, 2022. 70. [doi: 10.1145/
3551349.3561151]
[12] Zhang L, Liu CW, Xu ZZ, Chen S, Fan LL, Chen BH, Liu Y. Has my release disobeyed semantic versioning? Static detection based on
semantic differencing. In: Proc. of the 37th IEEE/ACM Int’l Conf. on Automated Software Engineering. Rochester: ACM, 2022. 51. [doi:
10.1145/3551349.3556956]
[13] Mahmud T, Che MR, Yang GW. Android compatibility issue detection using API differences. In: Proc. of the 2021 IEEE Int’l Conf. on
Software Analysis, Evolution and Reengineering (SANER). Honolulu: IEEE, 2021. 480–490. [doi: 10.1109/SANER50967.2021.00051]
[14] He DJ, Li L, Wang L, Zheng HJ, Li GW, Xue JL. Understanding and detecting evolution-induced compatibility issues in Android apps.
In: Proc. of the 33rd ACM/IEEE Int’l Conf. on Automated Software Engineering. Montpellier: ACM, 2018. 167–177. [doi: 10.1145/
3238147.3238185]
[15] Yang S, Chen S, Fan LL, Xu SH, Hui ZW, Huang S. Compatibility issue detection for Android Apps based on path-sensitive semantic
analysis. In: Proc. of the 45th IEEE/ACM Int’l Conf. on Software Engineering (ICSE). Melbourne: IEEE, 2023. 257–269. [doi: 10.1109/
ICSE48619.2023.00033]
[16] Peng Y, Zhang Y, Hu MZ. An empirical study for common language features used in python projects. In: Proc. of the 2021 IEEE Int’l
Conf. on Software Analysis, Evolution and Reengineering (SANER). Honolulu: IEEE, 2021. 24–35. [doi: 10.1109/SANER50967.2021.
00012]
[17] flask. https://github.com/pallets/flask
[18] pandas. https://github.com/pandas-dev/pandas
[19] Wang Y, Chen BH, Huang KF, Shi BW, Xu CY, Peng X, Liu YJ, Wu Y. An empirical study of usages, updates and risks of third-party
35–45. [doi: 10.1109/ICSME46990.2020.00014]
[20] Zhang ZJ, Yang YM, Xia X, Lo D, Ren XX, Grundy J. Unveiling the mystery of API evolution in deep learning frameworks: A case
study of TensorFlow 2. In: Proc. of the 43rd Int’l Conf. on Software Engineering: Software Engineering in Practice (ICSE-SEIP). Madrid:
IEEE, 2021. 238–247. [doi: 10.1109/ICSE-SEIP52600.2021.00033]
[21] Dilhara M, Ketkar A, Dig D. Understanding software-2.0: A study of machine learning library usage and evolution. ACM Trans. on
Software Engineering and Methodology, 2021, 30(4): 55. [doi: 10.1145/3453478]
[22] Liu P, Li L, Yan YC, Fazzini M, Grundy J. Identifying and characterizing silently-evolved methods in the Android API. In: Proc. of the