TY - GEN
T1 - An empirical study of metric-based comparisons of software libraries
AU - De La Mora, Fernando López
AU - Nadi, Sarah
N1 - Publisher Copyright:
© 2018 Association for Computing Machinery.
PY - 2018/10/10
Y1 - 2018/10/10
N2 - BACKGROUND: Software libraries provide a set of reusable functionality, which helps developers write code in a systematic and timely manner. However, selecting the appropriate library to use is often not a trivial task. AIMS: In this paper, we investigate the usefulness of software metrics in helping developers choose libraries. Different developers care about different aspects of a library and two developers looking for a library in a given domain may not necessarily choose the same library. Thus, instead of directly recommending a library to use, we provide developers with a metric-based comparison of libraries in the same domain to empower them with the information they need to make an informed decision. METHOD: We use software data analytics from several sources of information to create quantifiable metric-based comparisons of software libraries. For evaluation, we select 34 open-source Java libraries from 10 popular domains and extract nine metrics related to these libraries. We then conduct a survey of 61 developers to evaluate whether our proposed metric-based comparison is useful, and to understand which metrics developers care about. RESULTS: Our results show that developers find that the proposed technique provides useful information when selecting libraries. We observe that developers care the most about metrics related to the popularity, security, and performance of libraries. We also find that the usefulness of some metrics may vary according to the domain. CONCLUSIONS: Our survey results showed that our proposed technique is useful. We are currently building a public website for metric-based library comparisons, while incorporating the feedback we obtained from our survey participants.
AB - BACKGROUND: Software libraries provide a set of reusable functionality, which helps developers write code in a systematic and timely manner. However, selecting the appropriate library to use is often not a trivial task. AIMS: In this paper, we investigate the usefulness of software metrics in helping developers choose libraries. Different developers care about different aspects of a library and two developers looking for a library in a given domain may not necessarily choose the same library. Thus, instead of directly recommending a library to use, we provide developers with a metric-based comparison of libraries in the same domain to empower them with the information they need to make an informed decision. METHOD: We use software data analytics from several sources of information to create quantifiable metric-based comparisons of software libraries. For evaluation, we select 34 open-source Java libraries from 10 popular domains and extract nine metrics related to these libraries. We then conduct a survey of 61 developers to evaluate whether our proposed metric-based comparison is useful, and to understand which metrics developers care about. RESULTS: Our results show that developers find that the proposed technique provides useful information when selecting libraries. We observe that developers care the most about metrics related to the popularity, security, and performance of libraries. We also find that the usefulness of some metrics may vary according to the domain. CONCLUSIONS: Our survey results showed that our proposed technique is useful. We are currently building a public website for metric-based library comparisons, while incorporating the feedback we obtained from our survey participants.
UR - http://www.scopus.com/inward/record.url?scp=85056703908&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85056703908&partnerID=8YFLogxK
U2 - 10.1145/3273934.3273937
DO - 10.1145/3273934.3273937
M3 - Conference contribution
AN - SCOPUS:85056703908
T3 - ACM International Conference Proceeding Series
SP - 22
EP - 31
BT - PROMISE 2018 - 14th International Conference Predictive Models and Data Analytics in Software Engineering
PB - Association for Computing Machinery
T2 - 14th International Conference Predictive Models and Data Analytics in Software Engineering, PROMISE 2018
Y2 - 10 October 2018 through 10 October 2018
ER -