A Method Based on Naming Similarity to Identify Reuse Opportunities

Bibliographic Details
Main Author: Oliveira, Johnatan
Publication Date: 2017
Other Authors: Fernandes, Eduardo, Souza, Maurício, Figueiredo, Eduardo
Format: Article
Language: eng
Source: Brazilian Journal of Information Systems
Download full: https://journals-sol.sbc.org.br/index.php/isys/article/view/330
Summary: Software reuse is a development strategy in which existing software components are used to implement new software systems. There are many advantages of applying software reuse, such as minimization of development efforts and improvement of software quality. Few methods have been proposed in the literature for recommendation of reuse opportunities. In this paper, we propose a method for identification and recommendation of reuse opportunities based on the similarity of the names of classes. Our method, called JReuse, computes a similarity function to identify similarly named classes from a set of software systems from a specific domain. The identified classes compose a repository with reuse opportunities. We also present a prototype tool to support the proposed method. We applied our method, through the tool, to 72 software systems mined from GitHub, in 4 different domains: accounting, restaurant, hospital, and e-commerce. In total, these systems have 1,567,337 lines of code, 57,017 methods, and 12,598 classes. As a result, we observe that JReuse is able to identify the main classes that are frequent in each selected domain.
id SBC-5_8fbe97402f4a8753d6a7710c58c286fd
oai_identifier_str oai:journals-sol.sbc.org.br:article/330
network_acronym_str SBC-5
network_name_str Brazilian Journal of Information Systems
repository_id_str
spelling A Method Based on Naming Similarity to Identify Reuse OpportunitiesSoftware reuse is a development strategy in which existing software components are used to implement new software systems. There are many advantages of applying software reuse, such as minimization of development efforts and improvement of software quality. Few methods have been proposed in the literature for recommendation of reuse opportunities. In this paper, we propose a method for identification and recommendation of reuse opportunities based on the similarity of the names of classes. Our method, called JReuse, computes a similarity function to identify similarly named classes from a set of software systems from a specific domain. The identified classes compose a repository with reuse opportunities. We also present a prototype tool to support the proposed method. We applied our method, through the tool, to 72 software systems mined from GitHub, in 4 different domains: accounting, restaurant, hospital, and e-commerce. In total, these systems have 1,567,337 lines of code, 57,017 methods, and 12,598 classes. As a result, we observe that JReuse is able to identify the main classes that are frequent in each selected domain.Sociedade Brasileira de Computação2017-03-12info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionapplication/pdfhttps://journals-sol.sbc.org.br/index.php/isys/article/view/33010.5753/isys.2017.330iSys - Revista Brasileira de Sistemas de Informação; v. 10 n. 1 (2017); 99-121iSys - Brazilian Journal of Information Systems; Vol. 10 No. 1 (2017); 99-1211984-290210.5753/isys.2017.1reponame:Brazilian Journal of Information Systemsinstname:Sociedade Brasileira de Computação (SBC)instacron:SBCenghttps://journals-sol.sbc.org.br/index.php/isys/article/view/330/339Oliveira, JohnatanFernandes, EduardoSouza, MaurícioFigueiredo, Eduardoinfo:eu-repo/semantics/openAccess2020-07-06T19:34:57Zoai:journals-sol.sbc.org.br:article/330Revistahttps://journals-sol.sbc.org.br/index.php/isys/ONGhttps://journals-sol.sbc.org.br/index.php/isys/oaipublicacoes@sbc.org.br1984-29021984-2902opendoar:2020-07-06T19:34:57Brazilian Journal of Information Systems - Sociedade Brasileira de Computação (SBC)false
dc.title.none.fl_str_mv A Method Based on Naming Similarity to Identify Reuse Opportunities
title A Method Based on Naming Similarity to Identify Reuse Opportunities
spellingShingle A Method Based on Naming Similarity to Identify Reuse Opportunities
Oliveira, Johnatan
title_short A Method Based on Naming Similarity to Identify Reuse Opportunities
title_full A Method Based on Naming Similarity to Identify Reuse Opportunities
title_fullStr A Method Based on Naming Similarity to Identify Reuse Opportunities
title_full_unstemmed A Method Based on Naming Similarity to Identify Reuse Opportunities
title_sort A Method Based on Naming Similarity to Identify Reuse Opportunities
author Oliveira, Johnatan
author_facet Oliveira, Johnatan
Fernandes, Eduardo
Souza, Maurício
Figueiredo, Eduardo
author_role author
author2 Fernandes, Eduardo
Souza, Maurício
Figueiredo, Eduardo
author2_role author
author
author
dc.contributor.author.fl_str_mv Oliveira, Johnatan
Fernandes, Eduardo
Souza, Maurício
Figueiredo, Eduardo
description Software reuse is a development strategy in which existing software components are used to implement new software systems. There are many advantages of applying software reuse, such as minimization of development efforts and improvement of software quality. Few methods have been proposed in the literature for recommendation of reuse opportunities. In this paper, we propose a method for identification and recommendation of reuse opportunities based on the similarity of the names of classes. Our method, called JReuse, computes a similarity function to identify similarly named classes from a set of software systems from a specific domain. The identified classes compose a repository with reuse opportunities. We also present a prototype tool to support the proposed method. We applied our method, through the tool, to 72 software systems mined from GitHub, in 4 different domains: accounting, restaurant, hospital, and e-commerce. In total, these systems have 1,567,337 lines of code, 57,017 methods, and 12,598 classes. As a result, we observe that JReuse is able to identify the main classes that are frequent in each selected domain.
publishDate 2017
dc.date.none.fl_str_mv 2017-03-12
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://journals-sol.sbc.org.br/index.php/isys/article/view/330
10.5753/isys.2017.330
url https://journals-sol.sbc.org.br/index.php/isys/article/view/330
identifier_str_mv 10.5753/isys.2017.330
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv https://journals-sol.sbc.org.br/index.php/isys/article/view/330/339
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Sociedade Brasileira de Computação
publisher.none.fl_str_mv Sociedade Brasileira de Computação
dc.source.none.fl_str_mv iSys - Revista Brasileira de Sistemas de Informação; v. 10 n. 1 (2017); 99-121
iSys - Brazilian Journal of Information Systems; Vol. 10 No. 1 (2017); 99-121
1984-2902
10.5753/isys.2017.1
reponame:Brazilian Journal of Information Systems
instname:Sociedade Brasileira de Computação (SBC)
instacron:SBC
instname_str Sociedade Brasileira de Computação (SBC)
instacron_str SBC
institution SBC
reponame_str Brazilian Journal of Information Systems
collection Brazilian Journal of Information Systems
repository.name.fl_str_mv Brazilian Journal of Information Systems - Sociedade Brasileira de Computação (SBC)
repository.mail.fl_str_mv publicacoes@sbc.org.br
_version_ 1832110916635721728