Skip to main content
Erschienen in: Software Quality Journal 2/2020

29.11.2019

What are the characteristics of popular APIs? A large-scale study on Java, Android, and 165 libraries

verfasst von: Caroline Lima, Andre Hora

Erschienen in: Software Quality Journal | Ausgabe 2/2020

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Software systems are commonly implemented with the support of libraries, which provide features via APIs. Ideally, APIs should have some characteristics, for example, they should be well documented and stable so that client systems can confidently rely on them. However, not all APIs are equal in number of clients: while some APIs are very popular and used worldwide, other may face much lower usage rates. In this context, one question appears: are there particular characteristics that differentiate popular APIs from ordinary APIs? Answering this question can uncover how worldwide APIs are actually implemented and maintained, revealing practices to better support both research and development on APIs. In this paper, we assess the characteristics of popular APIs, including their size, legibility, documentation, stability, and client adoption. We analyze 1491 APIs provided by Java, Android, and 165 libraries. We detect that popular APIs are distinct from ordinary ones, for example, often, popular APIs are larger, have more comments, and are more unstable than ordinary APIs. Finally, we provide a set of lessons learned from the popular APIs on factors that developers can control, such as the exposure of public methods and the API stability.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Fußnoten
1
We use the term library to designate both frameworks and libraries.
 
5
aosp-mirror/platform_frameworks_base and aosp-mirror/platform_frameworks_support
 
7
Lifetime is computed as the number of days between the first commit and the day of the analysis.
 
9
Command: git log --pretty=format:"%H,%an,%ai" $API
 
10
Command: hg log -f $API
 
11
The total API changes include both the breaking changes (e.g., a removed public method) and the non-breaking changes (e.g., an added public method) (Brito et al. 2018a).
 
Literatur
Zurück zum Zitat Ahmed, M., Spagna, S., Huici, F., Niccolini, S. (2013). A peek into the future: predicting the evolution of popularity in user generated content. In International Conference on Web Search and Data Mining. Ahmed, M., Spagna, S., Huici, F., Niccolini, S. (2013). A peek into the future: predicting the evolution of popularity in user generated content. In International Conference on Web Search and Data Mining.
Zurück zum Zitat Avelino, G., Passos, L., Hora, A., Valente, M.T. (2016). A novel approach for estimating truck factors. In International Conference on Program Comprehension. Avelino, G., Passos, L., Hora, A., Valente, M.T. (2016). A novel approach for estimating truck factors. In International Conference on Program Comprehension.
Zurück zum Zitat Barua, A., Thomas, S.W., Hassan, A.E. (2014). What are developers talking about? an analysis of topics and trends in stack overflow. Empirical Software Engineering, 19(3), 619–654.CrossRef Barua, A., Thomas, S.W., Hassan, A.E. (2014). What are developers talking about? an analysis of topics and trends in stack overflow. Empirical Software Engineering, 19(3), 619–654.CrossRef
Zurück zum Zitat Bavota, G., Linares-Vasquez, M., Bernal-Cardenas, C.E., Di Penta, M., Oliveto, R., Poshyvanyk, D. (2015). The impact of API change-and fault-proneness on the user ratings of Android apps. IEEE Transactions on Software Engineering, 41(4). Bavota, G., Linares-Vasquez, M., Bernal-Cardenas, C.E., Di Penta, M., Oliveto, R., Poshyvanyk, D. (2015). The impact of API change-and fault-proneness on the user ratings of Android apps. IEEE Transactions on Software Engineering, 41(4).
Zurück zum Zitat Bloch, J. (2006). How to design a good API and why it matters. In SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications. Bloch, J. (2006). How to design a good API and why it matters. In SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications.
Zurück zum Zitat Bogart, C., Kästner, C., Herbsleb, J., Thung, F. (2016). How to break an API: cost negotiation and community values in three software ecosystems. In International Symposium on the Foundations of Software Engineering. Bogart, C., Kästner, C., Herbsleb, J., Thung, F. (2016). How to break an API: cost negotiation and community values in three software ecosystems. In International Symposium on the Foundations of Software Engineering.
Zurück zum Zitat Borges, H., Hora, A., Valente, M.T. (2016), Understanding the factors that impact the popularity of GitHub repositories. In International Conference on Software Maintenance and Evolution. Borges, H., Hora, A., Valente, M.T. (2016), Understanding the factors that impact the popularity of GitHub repositories. In International Conference on Software Maintenance and Evolution.
Zurück zum Zitat Borges, H., & Valente, M.T. (2018). What’s in a GitHub star? understanding repository starring practices in a social coding platform. Journal of Systems and Software. Borges, H., & Valente, M.T. (2018). What’s in a GitHub star? understanding repository starring practices in a social coding platform. Journal of Systems and Software.
Zurück zum Zitat Brito, A., Xavier, L., Hora, A., Valente, M.T. (2018a). APIDiff: Detecting API breaking changes. In International Conference on Software Analysis, Evolution and Reengineering. Brito, A., Xavier, L., Hora, A., Valente, M.T. (2018a). APIDiff: Detecting API breaking changes. In International Conference on Software Analysis, Evolution and Reengineering.
Zurück zum Zitat Brito, A., Xavier, L., Hora, A., Valente, M.T. (2018b). Why and how Java developers break APIs. In International Conference on Software Analysis, Evolution and Reengineering. Brito, A., Xavier, L., Hora, A., Valente, M.T. (2018b). Why and how Java developers break APIs. In International Conference on Software Analysis, Evolution and Reengineering.
Zurück zum Zitat Brito, G., Hora, A., Valente, M.T., Robbes, R. (2018c). On the use of replacement messages in API deprecation: An empirical study, (Vol. 137. Brito, G., Hora, A., Valente, M.T., Robbes, R. (2018c). On the use of replacement messages in API deprecation: An empirical study, (Vol. 137.
Zurück zum Zitat Businge, J., Serebrenik, A., van den Brand, M. (2012). Survival of eclipse third-party plug-ins. In International Conference on Software Maintenance. Businge, J., Serebrenik, A., van den Brand, M. (2012). Survival of eclipse third-party plug-ins. In International Conference on Software Maintenance.
Zurück zum Zitat Businge, J., Serebrenik, A., van den Brand, M. (2013a). Analyzing the Eclipse API usage: putting the developer in the loop. In European Conference on Software Maintenance and Reengineering. Businge, J., Serebrenik, A., van den Brand, M. (2013a). Analyzing the Eclipse API usage: putting the developer in the loop. In European Conference on Software Maintenance and Reengineering.
Zurück zum Zitat Businge, J., Serebrenik, A., van den Brand, M.G. (2013b). Eclipse API usage: the good and the bad. Software Quality Journal. Businge, J., Serebrenik, A., van den Brand, M.G. (2013b). Eclipse API usage: the good and the bad. Software Quality Journal.
Zurück zum Zitat Chatzopoulou, G., Sheng, C., Faloutsos, M. (2010). A first step towards understanding popularity in youtube. In Conference on Computer Communications Workshops. Chatzopoulou, G., Sheng, C., Faloutsos, M. (2010). A first step towards understanding popularity in youtube. In Conference on Computer Communications Workshops.
Zurück zum Zitat Couto, C., Pires, P., Valente, M.T., Bigonha, R., Anquetil, N. (2014). Predicting software defects with causality tests. Journal of Systems and Software, 93. Couto, C., Pires, P., Valente, M.T., Bigonha, R., Anquetil, N. (2014). Predicting software defects with causality tests. Journal of Systems and Software, 93.
Zurück zum Zitat Dagenais, B., & Robillard, M.P. (2008). Recommending adaptive changes for framework evolution. In International Conference on Software engineering. Dagenais, B., & Robillard, M.P. (2008). Recommending adaptive changes for framework evolution. In International Conference on Software engineering.
Zurück zum Zitat De Roover, C., Lämmel, R., Pek, E. (2013). Multi-dimensional exploration of api usage. In International Conference on Program Comprehension. De Roover, C., Lämmel, R., Pek, E. (2013). Multi-dimensional exploration of api usage. In International Conference on Program Comprehension.
Zurück zum Zitat Dig, D., & Johnson, R. (2005). The role of refactorings in API evolution. In International Conference on Software Maintenance. Dig, D., & Johnson, R. (2005). The role of refactorings in API evolution. In International Conference on Software Maintenance.
Zurück zum Zitat Dyer, R., Nguyen, H.A., Rajan, H., Nguyen, T.N. (2013). Boa: a language and infrastructure for analyzing ultra-large-scale software repositories. In International Conference on Software Engineering. Dyer, R., Nguyen, H.A., Rajan, H., Nguyen, T.N. (2013). Boa: a language and infrastructure for analyzing ultra-large-scale software repositories. In International Conference on Software Engineering.
Zurück zum Zitat Eisenberg, D.S., Stylos, J., Myers, B.A. (2010). Apatite: a new interface for exploring apis. In Conference on Human Factors in Computing Systems. Eisenberg, D.S., Stylos, J., Myers, B.A. (2010). Apatite: a new interface for exploring apis. In Conference on Human Factors in Computing Systems.
Zurück zum Zitat Figueiredo, F., Almeida, J.M., Gonċalves, M.A., Benevenuto, F. (2014). On the dynamics of social media popularity: a youtube case study. ACM Transactions on Internet Technology, 14(4), 24.CrossRef Figueiredo, F., Almeida, J.M., Gonċalves, M.A., Benevenuto, F. (2014). On the dynamics of social media popularity: a youtube case study. ACM Transactions on Internet Technology, 14(4), 24.CrossRef
Zurück zum Zitat Fowler, M., & Beck, K. (1999). Refactoring: improving the design of existing code. Addison-Wesley Professional. Fowler, M., & Beck, K. (1999). Refactoring: improving the design of existing code. Addison-Wesley Professional.
Zurück zum Zitat Fritz, T., Ou, J., Murphy, G.C., Murphy-Hill, E. (2010). A degree-of-knowledge model to capture source code familiarity In International Conference on Software Engineering. ACM. Fritz, T., Ou, J., Murphy, G.C., Murphy-Hill, E. (2010). A degree-of-knowledge model to capture source code familiarity In International Conference on Software Engineering. ACM.
Zurück zum Zitat Fritz, T., Murphy, G.C., Murphy-Hill, E., Ou, J., Hill, E. (2014). Degree-of-knowledge: modeling a developer’s knowledge of code. ACM Transactions on Software Engineering and Methodology (TOSEM), 23(2), 14.CrossRef Fritz, T., Murphy, G.C., Murphy-Hill, E., Ou, J., Hill, E. (2014). Degree-of-knowledge: modeling a developer’s knowledge of code. ACM Transactions on Software Engineering and Methodology (TOSEM), 23(2), 14.CrossRef
Zurück zum Zitat Herbsleb, J.D. (2007). Global software engineering: the future of socio-technical coordination. In Future of Software Engineering. Herbsleb, J.D. (2007). Global software engineering: the future of socio-technical coordination. In Future of Software Engineering.
Zurück zum Zitat Hintze, J.L., & Nelson, R.D. (1998). Violin plots: a box plot-density trace synergism. The American Statistician, 52(2), 181–184. Hintze, J.L., & Nelson, R.D. (1998). Violin plots: a box plot-density trace synergism. The American Statistician, 52(2), 181–184.
Zurück zum Zitat Holmes, R., & Walker, R.J. (2007). Informing eclipse api production and consumption. In OOPSLA Workshop on Eclipse Technology eXchange. Holmes, R., & Walker, R.J. (2007). Informing eclipse api production and consumption. In OOPSLA Workshop on Eclipse Technology eXchange.
Zurück zum Zitat Hora, A., & Valente, M.T. (2015). apiwave: keeping track of API popularity and migration. In: International Conference on Software Maintenance and Evolution. http://apiwave.com. Hora, A., & Valente, M.T. (2015). apiwave: keeping track of API popularity and migration. In: International Conference on Software Maintenance and Evolution. http://​apiwave.​com.
Zurück zum Zitat Hora, A., Valente, M.T., Robbes, R., Anquetil n. (2016). When should internal interfaces be promoted to public? In International Symposium on Foundations of Software Engineering. Hora, A., Valente, M.T., Robbes, R., Anquetil n. (2016). When should internal interfaces be promoted to public? In International Symposium on Foundations of Software Engineering.
Zurück zum Zitat Hora, A., Robbes, R., Valente, M.T., Anquetil, N., Etien, A., Ducasse, S. (2018a). How do developers react to API evolution? A large-scale empirical study. Software Quality Journal, 26(1), 161–191.CrossRef Hora, A., Robbes, R., Valente, M.T., Anquetil, N., Etien, A., Ducasse, S. (2018a). How do developers react to API evolution? A large-scale empirical study. Software Quality Journal, 26(1), 161–191.CrossRef
Zurück zum Zitat Hora, A., Silva, D., Robbes, R., Valente, M.T. (2018b). Assessing the threat of untracked changes in software evolution. In International Conference on Software Engineering. Hora, A., Silva, D., Robbes, R., Valente, M.T. (2018b). Assessing the threat of untracked changes in software evolution. In International Conference on Software Engineering.
Zurück zum Zitat Konstantopoulos, D., Marien, J., Pinkerton, M., Braude, E. (2009). Best principles in the design of shared software. In International Computer Software and Applications Conference. Konstantopoulos, D., Marien, J., Pinkerton, M., Braude, E. (2009). Best principles in the design of shared software. In International Computer Software and Applications Conference.
Zurück zum Zitat Kula, R.G., German, D.M., Ouni, A., Ishio, T., Inoue, K. (2018a). Do developers update their library dependencies?. Empirical Software Engineering, 23(1), 384–417.CrossRef Kula, R.G., German, D.M., Ouni, A., Ishio, T., Inoue, K. (2018a). Do developers update their library dependencies?. Empirical Software Engineering, 23(1), 384–417.CrossRef
Zurück zum Zitat Kula, R.G., Ouni, A., German, D.M., Inoue, K. (2018b). An empirical study on the impact of refactoring activities on evolving client-used APIs. Information and Software Technology, 93, 186–199.CrossRef Kula, R.G., Ouni, A., German, D.M., Inoue, K. (2018b). An empirical study on the impact of refactoring activities on evolving client-used APIs. Information and Software Technology, 93, 186–199.CrossRef
Zurück zum Zitat Lehmann, J., Gonċalves, B., Ramasco, J.J., Cattuto, C. (2012). Dynamical classes of collective attention in twitter. In International Conference on World Wide Web. Lehmann, J., Gonċalves, B., Ramasco, J.J., Cattuto, C. (2012). Dynamical classes of collective attention in twitter. In International Conference on World Wide Web.
Zurück zum Zitat Lethbridge, T.C., Singer, J., Forward, A. (2003). How software engineers use documentation: the state of the practice. IEEE Software, 20(6), 35–39.CrossRef Lethbridge, T.C., Singer, J., Forward, A. (2003). How software engineers use documentation: the state of the practice. IEEE Software, 20(6), 35–39.CrossRef
Zurück zum Zitat Ma, Z., Sun, A., Cong, G. (2013). On predicting the popularity of newly emerging hashtags in twitter. Journal of the Association for Information Science and Technology, 64(7), 1399–1410. Ma, Z., Sun, A., Cong, G. (2013). On predicting the popularity of newly emerging hashtags in twitter. Journal of the Association for Information Science and Technology, 64(7), 1399–1410.
Zurück zum Zitat Maalej, W., & Robillard, M.P. (2013). Patterns of knowledge in API reference documentation. IEEE Transactions on Software Engineering, 39(9), 1264–1282.CrossRef Maalej, W., & Robillard, M.P. (2013). Patterns of knowledge in API reference documentation. IEEE Transactions on Software Engineering, 39(9), 1264–1282.CrossRef
Zurück zum Zitat Mastrangelo, L., Ponzanelli, L., Mocci, A., Lanza, M., Hauswirth, M., Nystrom, N. (2015). Use at your own risk: the java unsafe API in the wild. In International Conference on Object-Oriented Programming, Systems, Languages, and Applications. Mastrangelo, L., Ponzanelli, L., Mocci, A., Lanza, M., Hauswirth, M., Nystrom, N. (2015). Use at your own risk: the java unsafe API in the wild. In International Conference on Object-Oriented Programming, Systems, Languages, and Applications.
Zurück zum Zitat McDonnell, T., Ray, B., Kim, M. (2013). An empirical study of API stability and adoption in the Android ecosystem. In International Conference on Software Maintenance. McDonnell, T., Ray, B., Kim, M. (2013). An empirical study of API stability and adoption in the Android ecosystem. In International Conference on Software Maintenance.
Zurück zum Zitat Mileva, Y.M., Dallmeier, V., Burger, M., Zeller, A. (2009). Mining trends of library usage. In Joint International and Annual ERCIM Workshops on Principles of Software Evolution and Software Evolution Workshops. Mileva, Y.M., Dallmeier, V., Burger, M., Zeller, A. (2009). Mining trends of library usage. In Joint International and Annual ERCIM Workshops on Principles of Software Evolution and Software Evolution Workshops.
Zurück zum Zitat Mileva, Y.M., Dallmeier, V., Zeller, A. (2010). Mining API popularity. In International Academic and Industrial Conference on Testing - Practice and Research Techniques. Mileva, Y.M., Dallmeier, V., Zeller, A. (2010). Mining API popularity. In International Academic and Industrial Conference on Testing - Practice and Research Techniques.
Zurück zum Zitat Mileva, Y.M., Wasylkowski, A., Zeller, A. (2011). Mining evolution of object usage. In European Conference on Object-Oriented Programming. Mileva, Y.M., Wasylkowski, A., Zeller, A. (2011). Mining evolution of object usage. In European Conference on Object-Oriented Programming.
Zurück zum Zitat Mistrík, I., Grundy, J., Van der Hoek, A., Whitehead, J. (2010). Collaborative software engineering: challenges and prospects. In Collaborative Software Engineering. Mistrík, I., Grundy, J., Van der Hoek, A., Whitehead, J. (2010). Collaborative software engineering: challenges and prospects. In Collaborative Software Engineering.
Zurück zum Zitat Moser, S., & Nierstrasz, O. (1996). The effect of object-oriented frameworks on developer productivity. Computer, 29(9). Moser, S., & Nierstrasz, O. (1996). The effect of object-oriented frameworks on developer productivity. Computer, 29(9).
Zurück zum Zitat Myers, B.A., & Stylos, J. (2016). Improving API usability. Communications of the ACM, 59(6), 62–69.CrossRef Myers, B.A., & Stylos, J. (2016). Improving API usability. Communications of the ACM, 59(6), 62–69.CrossRef
Zurück zum Zitat Raemaekers, S., van Deursen, A., Visser, J. (2012). Measuring software library stability through historical version analysis. In International Conference on Software Maintenance. Raemaekers, S., van Deursen, A., Visser, J. (2012). Measuring software library stability through historical version analysis. In International Conference on Software Maintenance.
Zurück zum Zitat Reddy, M. (2011). API Design for C++. Morgan Kaufmann Publishers. Reddy, M. (2011). API Design for C++. Morgan Kaufmann Publishers.
Zurück zum Zitat Retherford, R.D., & Choe, M.K. (2011). Statistical models for causal analysis. Wiley. Retherford, R.D., & Choe, M.K. (2011). Statistical models for causal analysis. Wiley.
Zurück zum Zitat Robbes, R., Lungu, M., Röthlisberger, D. (2012). How do developers react to API deprecation? The case of a Smalltalk ecosystem. In International Symposium on the Foundations of Software Engineering. Robbes, R., Lungu, M., Röthlisberger, D. (2012). How do developers react to API deprecation? The case of a Smalltalk ecosystem. In International Symposium on the Foundations of Software Engineering.
Zurück zum Zitat Robillard, M.P. (2009). What makes APIs hard to learn? Answers from developers. IEEE Software, 26(6), 27–34.CrossRef Robillard, M.P. (2009). What makes APIs hard to learn? Answers from developers. IEEE Software, 26(6), 27–34.CrossRef
Zurück zum Zitat Romano, J., Kromrey, J.D., Coraggio, J., Skowronek, J. (2006). Appropriate statistics for ordinal level data: should we really be using t-test and cohen’sd for evaluating group differences on the nsse and other surveys. In Annual Meeting of the Florida Association of Institutional Research. Romano, J., Kromrey, J.D., Coraggio, J., Skowronek, J. (2006). Appropriate statistics for ordinal level data: should we really be using t-test and cohen’sd for evaluating group differences on the nsse and other surveys. In Annual Meeting of the Florida Association of Institutional Research.
Zurück zum Zitat Sawant, A.A., & Bacchelli, A. (2015). A dataset for API usage. In Conference on Mining Software Repositories. Sawant, A.A., & Bacchelli, A. (2015). A dataset for API usage. In Conference on Mining Software Repositories.
Zurück zum Zitat Sawant, A.A., Robbes, R., Bacchelli, A. (2016). On the reaction to deprecation of 25,357 clients of 4 + 1 popular Java APIs. In 32nd International Conference on Software Maintenance and Evolution. Sawant, A.A., Robbes, R., Bacchelli, A. (2016). On the reaction to deprecation of 25,357 clients of 4 + 1 popular Java APIs. In 32nd International Conference on Software Maintenance and Evolution.
Zurück zum Zitat Sawant, A.A., & Bacchelli, A. (2017a). Fine-grape: fine-grained api usage extractor–an approach and dataset to investigate api usage, (Vol. 22. Sawant, A.A., & Bacchelli, A. (2017a). Fine-grape: fine-grained api usage extractor–an approach and dataset to investigate api usage, (Vol. 22.
Zurück zum Zitat Sawant, A.A., Robbes, R., Bacchelli, A. (2017b). On the reaction to deprecation of clients of 4 + 1 popular Java APIs and the JDK. Empirical Software Engineering. Sawant, A.A., Robbes, R., Bacchelli, A. (2017b). On the reaction to deprecation of clients of 4 + 1 popular Java APIs and the JDK. Empirical Software Engineering.
Zurück zum Zitat Stylos, J., Clarke, S., Myers, B. (2006). Comparing API design choices with usability studies: a case study and future directions. In Workshop of the Psychology of Programming Interest Group. Stylos, J., Clarke, S., Myers, B. (2006). Comparing API design choices with usability studies: a case study and future directions. In Workshop of the Psychology of Programming Interest Group.
Zurück zum Zitat Stylos, J., & Myers, B. (2007). Mapping the space of API design decisions. In Symposium on Visual Languages and Human-Centric Computing. Stylos, J., & Myers, B. (2007). Mapping the space of API design decisions. In Symposium on Visual Languages and Human-Centric Computing.
Zurück zum Zitat Swani, K., Milne, G.R., Brown, B.P., Assaf, A.G., Donthu, N. (2017). What messages to post? evaluating the popularity of social media communications in business versus consumer markets. Industrial Marketing Management, 62, 77–87.CrossRef Swani, K., Milne, G.R., Brown, B.P., Assaf, A.G., Donthu, N. (2017). What messages to post? evaluating the popularity of social media communications in business versus consumer markets. Industrial Marketing Management, 62, 77–87.CrossRef
Zurück zum Zitat Thummalapenta, S., & Xie, T. (2008). Spotweb: detecting framework hotspots via mining open source repositories on the web. In International Working Conference on Mining Software Repositories. Thummalapenta, S., & Xie, T. (2008). Spotweb: detecting framework hotspots via mining open source repositories on the web. In International Working Conference on Mining Software Repositories.
Zurück zum Zitat Tian, Y., Nagappan, M., Lo, D., Hassan, A.E. (2014). What are the characteristics of high-rated apps? a case study on free Android applications. In International Conference on Software Maintenance and Evolution. Tian, Y., Nagappan, M., Lo, D., Hassan, A.E. (2014). What are the characteristics of high-rated apps? a case study on free Android applications. In International Conference on Software Maintenance and Evolution.
Zurück zum Zitat Tufano, M., Palomba, F., Bavota, G., Oliveto, R., Di Penta, M., De Lucia, A., Poshyvanyk, D. (2015). When and why your code starts to smell bad. In International Conference on Software Engineering. Tufano, M., Palomba, F., Bavota, G., Oliveto, R., Di Penta, M., De Lucia, A., Poshyvanyk, D. (2015). When and why your code starts to smell bad. In International Conference on Software Engineering.
Zurück zum Zitat Wu, W., Gueheneuc, Y.G., Antoniol, G., Kim, M. (2010). AURA: a hybrid approach to identify framework evolution. In International Conference on Software Engineering. Wu, W., Gueheneuc, Y.G., Antoniol, G., Kim, M. (2010). AURA: a hybrid approach to identify framework evolution. In International Conference on Software Engineering.
Zurück zum Zitat Xavier, L., Brito, A., Hora, A., Valente, M.T. (2017). Historical and impact analysis of API breaking changes: a large scale study. In International Conference on Software Analysis, Evolution and Reengineering. Xavier, L., Brito, A., Hora, A., Valente, M.T. (2017). Historical and impact analysis of API breaking changes: a large scale study. In International Conference on Software Analysis, Evolution and Reengineering.
Zurück zum Zitat Zerouali, A., & Mens, T. (2017). Analyzing the evolution of testing library usage in open source java projects. In International Conference on Software Analysis, Evolution and Reengineering. Zerouali, A., & Mens, T. (2017). Analyzing the evolution of testing library usage in open source java projects. In International Conference on Software Analysis, Evolution and Reengineering.
Zurück zum Zitat Zibran, M.F., Eishita, F.Z., Roy, C.K. (2011). Useful, but usable? factors affecting the usability of APIs. In Working Conference on Reverse Engineering. Zibran, M.F., Eishita, F.Z., Roy, C.K. (2011). Useful, but usable? factors affecting the usability of APIs. In Working Conference on Reverse Engineering.
Zurück zum Zitat Zibran, M. (2008). What makes APIs difficult to use. International Journal of Computer Science and Network Security (IJCSNS), 8(4), 255–261. Zibran, M. (2008). What makes APIs difficult to use. International Journal of Computer Science and Network Security (IJCSNS), 8(4), 255–261.
Metadaten
Titel
What are the characteristics of popular APIs? A large-scale study on Java, Android, and 165 libraries
verfasst von
Caroline Lima
Andre Hora
Publikationsdatum
29.11.2019
Verlag
Springer US
Erschienen in
Software Quality Journal / Ausgabe 2/2020
Print ISSN: 0963-9314
Elektronische ISSN: 1573-1367
DOI
https://doi.org/10.1007/s11219-019-09476-z

Weitere Artikel der Ausgabe 2/2020

Software Quality Journal 2/2020 Zur Ausgabe

Premium Partner