Skip to main content

2020 | OriginalPaper | Buchkapitel

How Does Library Migration Impact Software Quality and Comprehension? An Empirical Study

verfasst von : Hussein Alrubaye, Deema Alshoaibi, Eman Alomar, Mohamed Wiem Mkaouer, Ali Ouni

Erschienen in: Reuse in Emerging Software Engineering Practices

Verlag: Springer International Publishing

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

search-config
loading …

Abstract

The process of migration between different third-party software libraries, while being an typical library reuse practice, is complex, time consuming and error-prone. Typically, during a library migration process, developers opt to replace methods from a retired library with other methods from a new library without altering the software behavior. However, the extent to which the process of migrating to new libraries will be rewarded with improved software quality is still unknown. In this paper, our goal is to study the impact of library API migration on software quality. We conducted a large-scale empirical study on 9 popular API migrations, collected from a corpus of 57,447 open-source Java projects. We computed the values of commonly-used software quality metrics before and after a migration occurs. The statistical analysis of the obtained results provides evidence that library migrations are likely to improve different software quality attributes including significantly reduced coupling, increased cohesion, and improved code readability. Furthermore, we released an online portal that helps software developers to understand the impact of a library migration on software quality and recommend migration examples that adopt best design and implementation practices to improve software quality. Finally, we provide the software engineering community with a large scale dataset to foster research in software library migration.

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

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!

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!

Literatur
1.
Zurück zum Zitat Allamanis, M., Sutton, C.: Mining source code repositories at massive scale using language modeling. In: Proceedings of the 10th Working Conference on Mining Software Repositories, pp. 207–216. IEEE Press (2013) Allamanis, M., Sutton, C.: Mining source code repositories at massive scale using language modeling. In: Proceedings of the 10th Working Conference on Mining Software Repositories, pp. 207–216. IEEE Press (2013)
2.
Zurück zum Zitat AlOmar, E., Mkaouer, M.W., Ouni, A.: Can refactoring be self-affirmed? an exploratory study on how developers document their refactoring activities in commit messages. In: 2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR), pp. 51–58. IEEE (2019) AlOmar, E., Mkaouer, M.W., Ouni, A.: Can refactoring be self-affirmed? an exploratory study on how developers document their refactoring activities in commit messages. In: 2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR), pp. 51–58. IEEE (2019)
3.
Zurück zum Zitat AlOmar, E.A., Mkaouer, M.W., Ouni, A.: Toward the automatic classification of self-affirmed refactoring. J. Syst. Softw. 171, 110821 (2020)CrossRef AlOmar, E.A., Mkaouer, M.W., Ouni, A.: Toward the automatic classification of self-affirmed refactoring. J. Syst. Softw. 171, 110821 (2020)CrossRef
4.
Zurück zum Zitat AlOmar, E.A., Mkaouer, M.W., Ouni, A., Kessentini, M.: On the impact of refactoring on the relationship between quality attributes and design metrics. In: 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 1–11. IEEE (2019) AlOmar, E.A., Mkaouer, M.W., Ouni, A., Kessentini, M.: On the impact of refactoring on the relationship between quality attributes and design metrics. In: 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 1–11. IEEE (2019)
5.
Zurück zum Zitat Alrubaye, H., Mkaouer, M.W.: Automating the detection of third-party java library migration at the function level. In: Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering, pp. 60–71. IBM Corp. (2018) Alrubaye, H., Mkaouer, M.W.: Automating the detection of third-party java library migration at the function level. In: Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering, pp. 60–71. IBM Corp. (2018)
6.
Zurück zum Zitat Alrubaye, H., Mkaouer, M.W., Khokhlov, I., Reznik, L., Ouni, A., Mcgoff, J.: Learning to recommend third-party library migration opportunities at the API level. Appl. Soft Comput. 90, 106140 (2020)CrossRef Alrubaye, H., Mkaouer, M.W., Khokhlov, I., Reznik, L., Ouni, A., Mcgoff, J.: Learning to recommend third-party library migration opportunities at the API level. Appl. Soft Comput. 90, 106140 (2020)CrossRef
7.
Zurück zum Zitat Alrubaye, H., Mkaouer, M.W., Ouni, A.: Migrationminer: an automated detection tool of third-party java library migration at the method level. In: The International Conference on Software Maintenance and Evolution (ICSME). IEEE Press (2019) Alrubaye, H., Mkaouer, M.W., Ouni, A.: Migrationminer: an automated detection tool of third-party java library migration at the method level. In: The International Conference on Software Maintenance and Evolution (ICSME). IEEE Press (2019)
8.
Zurück zum Zitat Alrubaye, H., Mkaouer, M.W., Ouni, A.: On the use of information retrieval to automate the detection of third-party java library migration at the method level. In: Proceedings of the 27th International Conference on Program Comprehension, pp. 347–357. IEEE Press (2019) Alrubaye, H., Mkaouer, M.W., Ouni, A.: On the use of information retrieval to automate the detection of third-party java library migration at the method level. In: Proceedings of the 27th International Conference on Program Comprehension, pp. 347–357. IEEE Press (2019)
9.
Zurück zum Zitat Alrubaye, H., Wiem, M.: Variability in library evolution. In: Software Engineering for Variability Intensive Systems: Foundations and Applications, p. 295 (2019) Alrubaye, H., Wiem, M.: Variability in library evolution. In: Software Engineering for Variability Intensive Systems: Foundations and Applications, p. 295 (2019)
11.
Zurück zum Zitat Boehm, B., Basili, V.R.: Software defect reduction top 10 list. Found. Empirical Softw. Eng.: Legacy of Victor R. Basili 426(37), 426–431 (2005) Boehm, B., Basili, V.R.: Software defect reduction top 10 list. Found. Empirical Softw. Eng.: Legacy of Victor R. Basili 426(37), 426–431 (2005)
12.
Zurück zum Zitat Buse, R.P., Weimer, W.R.: Learning a metric for code readability. IEEE Trans. Softw. Eng. 36(4), 546–558 (2010)CrossRef Buse, R.P., Weimer, W.R.: Learning a metric for code readability. IEEE Trans. Softw. Eng. 36(4), 546–558 (2010)CrossRef
13.
Zurück zum Zitat Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)CrossRef Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)CrossRef
14.
Zurück zum Zitat Endrikat, S., Hanenberg, S., Robbes, R., Stefik, A.: How do API documentation and static typing affect api usability? In: Proceedings of the 36th International Conference on Software Engineering, pp. 632–642. ACM (2014) Endrikat, S., Hanenberg, S., Robbes, R., Stefik, A.: How do API documentation and static typing affect api usability? In: Proceedings of the 36th International Conference on Software Engineering, pp. 632–642. ACM (2014)
16.
Zurück zum Zitat Linares-Vásquez, M., Bavota, G., Bernal-Cárdenas, C., Di Penta, M., Oliveto, R., Poshyvanyk, D.: Api change and fault proneness: a threat to the success of android apps. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pp. 477–487. ACM (2013) Linares-Vásquez, M., Bavota, G., Bernal-Cárdenas, C., Di Penta, M., Oliveto, R., Poshyvanyk, D.: Api change and fault proneness: a threat to the success of android apps. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pp. 477–487. ACM (2013)
17.
Zurück zum Zitat McDonnell, T., Ray, B., Kim, M.: An empirical study of API stability and adoption in the android ecosystem. In: 2013 IEEE International Conference on Software Maintenance, pp. 70–79. IEEE (2013) McDonnell, T., Ray, B., Kim, M.: An empirical study of API stability and adoption in the android ecosystem. In: 2013 IEEE International Conference on Software Maintenance, pp. 70–79. IEEE (2013)
18.
Zurück zum Zitat Mkaouer, M.W., Kessentini, M., Bechikh, S., Deb, K., Ó Cinnéide, M.: High dimensional search-based software engineering: finding tradeoffs among 15 objectives for automating software refactoring using NSGA-III. In: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation, pp. 1263–1270 (2014) Mkaouer, M.W., Kessentini, M., Bechikh, S., Deb, K., Ó Cinnéide, M.: High dimensional search-based software engineering: finding tradeoffs among 15 objectives for automating software refactoring using NSGA-III. In: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation, pp. 1263–1270 (2014)
19.
Zurück zum Zitat Mkaouer, M.W., Kessentini, M., Bechikh, S., Ó’Cinnéide, M., Deb, K.: Software refactoring under uncertainty: a robust multi-objective approach. In: Proceedings of the Companion Publication of the 2014 Annual Conference on Genetic and Evolutionary Computation, pp. 187–188 (2014) Mkaouer, M.W., Kessentini, M., Bechikh, S., Ó’Cinnéide, M., Deb, K.: Software refactoring under uncertainty: a robust multi-objective approach. In: Proceedings of the Companion Publication of the 2014 Annual Conference on Genetic and Evolutionary Computation, pp. 187–188 (2014)
20.
Zurück zum Zitat Peruma, A., Mkaouer, M.W., Decker, M.J., Newman, C.D.: Contextualizing rename decisions using refactorings, commit messages, and data types. J. Syst. Softw. 169, 110704 (2020)CrossRef Peruma, A., Mkaouer, M.W., Decker, M.J., Newman, C.D.: Contextualizing rename decisions using refactorings, commit messages, and data types. J. Syst. Softw. 169, 110704 (2020)CrossRef
21.
Zurück zum Zitat Peruma, A., Mkaouer, M.W., Decker, M.J., Newman, C.D.: Contextualizing rename decisions using refactorings and commit messages. In: 2019 19th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 74–85. IEEE (2019) Peruma, A., Mkaouer, M.W., Decker, M.J., Newman, C.D.: Contextualizing rename decisions using refactorings and commit messages. In: 2019 19th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 74–85. IEEE (2019)
22.
Zurück zum Zitat Scalabrino, S., Linares-Vásquez, M., Poshyvanyk, D., Oliveto, R.: Improving code readability models with textual features. In: 2016 IEEE 24th International Conference on Program Comprehension (ICPC), pp. 1–10. IEEE (2016) Scalabrino, S., Linares-Vásquez, M., Poshyvanyk, D., Oliveto, R.: Improving code readability models with textual features. In: 2016 IEEE 24th International Conference on Program Comprehension (ICPC), pp. 1–10. IEEE (2016)
23.
Zurück zum Zitat Shatnawi, A., Seriai, A.D., Sahraoui, H., Alshara, Z.: Reverse engineering reusable software components from object-oriented APIs. J. Syst. Softw. 131, 442–460 (2017)CrossRef Shatnawi, A., Seriai, A.D., Sahraoui, H., Alshara, Z.: Reverse engineering reusable software components from object-oriented APIs. J. Syst. Softw. 131, 442–460 (2017)CrossRef
24.
Zurück zum Zitat Stevens, W.P., Myers, G.J., Constantine, L.L.: Structured design. IBM Syst. J. 13(2), 115–139 (1974)CrossRef Stevens, W.P., Myers, G.J., Constantine, L.L.: Structured design. IBM Syst. J. 13(2), 115–139 (1974)CrossRef
25.
Zurück zum Zitat Teyton, C., Falleri, J.R., Blanc, X.: Mining library migration graphs. In: 2012 19th Working Conference on Reverse Engineering (WCRE), pp. 289–298. IEEE (2012) Teyton, C., Falleri, J.R., Blanc, X.: Mining library migration graphs. In: 2012 19th Working Conference on Reverse Engineering (WCRE), pp. 289–298. IEEE (2012)
26.
Zurück zum Zitat Teyton, C., Falleri, J.R., Blanc, X.: Automatic discovery of function mappings between similar libraries. In: In 2013 20th Working Conference on Reverse Engineering (WCRE), pp. 192–201. IEEE (2013) Teyton, C., Falleri, J.R., Blanc, X.: Automatic discovery of function mappings between similar libraries. In: In 2013 20th Working Conference on Reverse Engineering (WCRE), pp. 192–201. IEEE (2013)
27.
Zurück zum Zitat Teyton, C., Falleri, J.R., Palyart, M., Blanc, X.: A study of library migrations in java. J. Softw. Evol. Process 26(11), 1030–1052 (2014)CrossRef Teyton, C., Falleri, J.R., Palyart, M., Blanc, X.: A study of library migrations in java. J. Softw. Evol. Process 26(11), 1030–1052 (2014)CrossRef
Metadaten
Titel
How Does Library Migration Impact Software Quality and Comprehension? An Empirical Study
verfasst von
Hussein Alrubaye
Deema Alshoaibi
Eman Alomar
Mohamed Wiem Mkaouer
Ali Ouni
Copyright-Jahr
2020
DOI
https://doi.org/10.1007/978-3-030-64694-3_15

Premium Partner