Log in

The future of API analytics

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Reusing APIs can greatly expedite the software development process and reduce programming effort. To learn how to use APIs, developers often rely on API learning resources (such as API references and tutorials) that contain rich and valuable API knowledge. In recent years, numerous API analytic approaches have been presented to help developers mine API knowledge from API learning resources. While these approaches have shown promising results in various tasks, there are many opportunities in this area. In this paper, we discuss several possible future works on API analytics.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (France)

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Alon, U., Zilberstein, M., Levy, O., Yahav, E.: code2vec: learning distributed representations of code. Proc. ACM Program. Lang. 3, 1–29 (2019)

    Article  Google Scholar 

  • Choetkiertikul, M., Dam, H.K., Tran, T., Pham, T., Ghose, A., Menzies, T.: A deep learning model for estimating story points. IEEE Trans. Softw. Eng. 45(7), 637–656 (2018)

    Article  Google Scholar 

  • Huang, Q., Liao, D., **ng, Z., Zuo, Z., Wang, C., **a, X.: Semantic-enriched code knowledge graph to reveal unknowns in smart contract code reuse. ACM Trans. Softw. Eng. Methodol. 32(6), 1–37 (2023)

    Article  Google Scholar 

  • Lamothe, M., Guéhéneuc, Y.G., Shang, W.: A systematic review of API evolution literature. ACM Comput. Surv. 54(8), 1–36 (2021)

    Article  Google Scholar 

  • Li, J., **ng, Z., Sun, A.: Linklive: discovering web learning resources for developers from Q &A discussions. World Wide Web 22, 1699–1725 (2019)

    Article  Google Scholar 

  • Ma, S., **ng, Z., Chen, C., Chen, C., Qu, L., Li, G.: Easy-to-deploy API extraction by multi-level feature embedding and transfer learning. IEEE Trans. Softw. Eng. 47(10), 2296–2311 (2021)

    Article  Google Scholar 

  • Maalej, W., Robillard, M.P.: Patterns of knowledge in API reference documentation. IEEE Trans. Softw. Eng. 39(9), 1264–1282 (2013)

    Article  Google Scholar 

  • Rabin, M.R.I., Bui, N.D., Wang, K., Yu, Y., Jiang, L., Alipour, M.A.: On the generalizability of neural program models with respect to semantic-preserving program transformations. Inf. Softw. Technol. 135, 106552 (2021)

    Article  Google Scholar 

  • Robillard, M.P.: What makes APIs hard to learn? Answers from developers. IEEE Softw. 26(6), 27–34 (2009)

    Article  Google Scholar 

  • Robillard, M.P., DeLine, R.: A field study of API learning obstacles. Empir. Softw. Eng. 16(6), 703–732 (2011)

    Article  Google Scholar 

  • Sworna, Z.T., Islam, C., Babar, M.A.: Apiro: a framework for automated security tools API recommendation. ACM Trans. Softw. Eng. Methodol. 32(1), 1–42 (2023)

    Article  Google Scholar 

  • Wu, D., **g, X.Y., Zhang, H., Kong, X., **e, Y., Huang, Z.: Data-driven approach to application programming interface documentation mining: a review. Wiley Interdis. Rev. Data Min. Knowl. Discov. 10(5), 1–28 (2020)

    Article  Google Scholar 

  • Wu, D., **g, X.Y., Zhang, H., Feng, Y., Chen, H., Zhou, Y., Xu, B.: Retrieving API knowledge from tutorials and stack overflow based on natural language queries. ACM Trans. Softw. Eng. Methodol. 32(5), 1–36 (2023)

    Article  Google Scholar 

  • Wu, D., **g, X.Y., Zhang, H., Zhou, Y., Xu, B.: Leveraging stack overflow to detect relevant tutorial fragments of apis. Empir. Softw. Eng. 28(12), 1–37 (2023)

    Google Scholar 

  • Yang, Y., He, W., Gao, C., Xu, Z., **a, X., Liu, C.: Topicans: topic-informed architecture for answer recommendation on technical Q &A site. ACM Trans. Softw. Eng. Methodol. 33(1), 1–25 (2023)

    Google Scholar 

  • Zhang, J., Liu, S., Gong, L., Zhang, H., Huang, Z., Jiang, H.: Beqain: an effective and efficient identifier normalization approach with bert and the question answering system. IEEE Trans. Software Eng. 49(4), 2597–2620 (2023)

    Article  Google Scholar 

  • Zhou, Y., Wang, C., Yan, X., Chen, T., Panichella, S., Gall, H.C.: Automatic detection and repair recommendation of directive defects in java API documentation. IEEE Trans. Softw. Eng. 46(9), 1004–1023 (2020)

    Article  Google Scholar 

  • Antognini, D., Faltings, B.: Rationalization through concepts. ar**v preprint ar**v:2105.04837 (2021)

  • Feng, Z., Guo, D., Tang, D., Duan, N., Feng, X., Gong, M., Shou, L., Qin, B., Liu, T., Jiang, D. et al.: Codebert: a pre-trained model for programming and natural languages. pp 1536–1547 (2020)

  • Gao, H., Kuang, H., Sun, K., Ma, X., Egyed, A., Mäder, P., Rong, G., Shao, D., Zhang, H.: Using consensual biterms from text structures of requirements and code to improve IR-based traceability recovery. In: International Conference on Automated Software Engineering, pp. 1–12 (2022)

  • Gu, X., Zhang, H., Zhang, D., Kim, S.: Deep API learning. In: International Symposium on Foundations of Software Engineering, pp. 631–642 (2016)

  • Henke, J., Ramakrishnan, G., Wang, Z., Albarghouth, A., Jha, S., Reps, T.: Semantic robustness of models of source code. In: International Conference on Software Analysis, Evolution and Reengineering, pp. 526–537 (2022)

  • Kenton, J.D.M.W.C., Toutanova, L.K.: Bert: Pre-training of deep bidirectional transformers for language understanding. pp. 4171–4186 (2019)

  • Kou, B., Chen, M., Zhang, T.: Automated summarization of stack overflow posts. In: International Conference on Software Engineering, pp. 1853–1865 (2023)

  • Lill, A., Meyer, A.N., Fritz, T.: On the helpfulness of answering developer questions on discord with similar conversations and posts from the past. In: International Conference on Software Engineering, pp. 1–13 (2024)

  • Liu, M., Yang, Y., Lou, Y., Peng, X., Zhou, Z., Du, X., Yang, T.: Recommending analogical APIS via knowledge graph embedding. In: ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 1496–1508 (2023)

  • Lundberg, S.M., Lee, S.I.: A unified approach to interpreting model predictions. In: International Conference on Neural Information Processing Systems, pp. 4768–4777 (2017)

  • Mikolov, T., Sutskever, I., Chen, K., Corrado, G.S., Dean, J.: Distributed representations of words and phrases and their compositionality. In: Annual Conference on Neural Information Processing Systems, pp. 3111–3119 (2013)

  • Nam, J., Pan, S.J., Kim, S.: Transfer defect learning. In: International Conference on Software Engineering, pp. 382–391 (2013)

  • Nguyen, T., Di, Y., Lee, J., Chen, M., Zhang, T.: Software entity recognition with noise-robust learning. In: International Conference on Automated Software Engineering, pp. 484–496 (2023)

  • Noci, L., Li, C., Li, M.B., He, B., Hofmann, T., Maddison, C.J., Roy, D.M.: The shaped transformer: Attention models in the infinite depth-and-width limit. In: Conference on Neural Information Processing Systems, pp. 1–32 (2023)

  • Ren, X., Ye, X., **ng, Z., **a, X., Xu, X., Zhu, L., Sun, J.: API-misuse detection driven by fine-grained API-constraint knowledge graph. In: International Conference on Automated Software Engineering, pp. 461–472 (2020)

  • Wei, M., Harzevili, N.S., Huang, Y., Wang, J., Wang, S.: Clear: contrastive learning for API recommendation. In: International Conference on Software Engineering, pp. 376–387 (2022)

  • **e, W., Peng, X., Liu, M., Treude, C., **ng, Z., Zhang, X., Zhao, W.: API method recommendation via explicit matching of functionality verb phrases. In: Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 1015–1026 (2020)

  • Ye, X., Shen, H., Ma, X., Bunescu, R.C., Liu, C.: From word embeddings to document similarities for improved information retrieval in software engineering. In: International Conference on Software Engineering, pp. 404–415 (2016)

  • Zhu, J., **ao, G., Zheng, Z., Sui, Y.: Enhancing traceability link recovery with unlabeled data. In: International Symposium on Software Reliability Engineering, pp. 446–457 (2022)

Download references

Acknowledgements

We would like to thank anonymous reviewers for their insightful and constructive comments. This research was partially funded by the National Natural Science Foundation of China under Grant No. 62172235, Primary Research & Development Plan of Jiangsu Province under Grant Nos. BE2023025 and BE2023025-1, National Natural Science Foundation of China under Grant No. 62172209, and the Natural Science Research Project of Jiangsu Higher Education Institutions under Grant No. 22KJB520026.

Author information

Authors and Affiliations

Authors

Contributions

Di Wu and Hongyu Zhang wrote the main manuscript text. All authors reviewed the manuscript.

Corresponding author

Correspondence to Zhenjiang Dong.

Ethics declarations

Conflict of interest

The authors declare no Conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wu, D., Zhang, H., Feng, Y. et al. The future of API analytics. Autom Softw Eng 31, 50 (2024). https://doi.org/10.1007/s10515-024-00442-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10515-024-00442-z

Keywords

Navigation