Abstract

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.

Highlights

  • Software reuse is a development strategy in which existing software components, called reusable assets, are used to implement new software systems [Krueger 1992]

  • Previous work study and indicate this strategy as an alternative to the traditional development, since reuse provides an increase of the software quality and a decrease of the development efforts by using previously developed, and sometimes already tested, software component [Mohagheghi and Conradi 2007, Morisio et al 2002, Ravichandran and Rothenberger 2003]

  • We present the results regarding the most frequent classes per analyzed domain

Read more

Summary

Introduction

Software reuse is a development strategy in which existing software components, called reusable assets, are used to implement new software systems [Krueger 1992]. Many methods have been proposed in the literature to support the extraction of reuse opportunities from software systems [Caldiera and Basili 1991, Kawaguchi et al 2006, Kuhn et al 2007, Maarek et al 1991, Ye and Fischer 2005]. We present background information to support the comprehension of this study As an example, Krueger (1992) presents an extensive study regarding definitions, approaches, and application of software reuse

Objectives
Methods
Results
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.