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
   48   49   50   51   52   53   54   55   56   57   58