A Method Based on Naming Similarity to Identify Reuse Opportunities

Johnatan Oliveira, Eduardo Fernandes, Maurício Souza, Eduardo Figueiredo

Research output: Contribution to journalJournal articleResearchpeer-review


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.
Original languageEnglish
JournalBrazilian Journal of Information Systems (iSys)
Issue number1
Pages (from-to)99-121
Number of pages23
Publication statusPublished - 2017
Externally publishedYes


Dive into the research topics of 'A Method Based on Naming Similarity to Identify Reuse Opportunities'. Together they form a unique fingerprint.

Cite this