Chapter 9: Providing Reusability-aware Recommendations

This chapter includes the design of the Code Reuse system QualBoa. QualBoa is a system that accepts queries for software components and recommends source code that is assessed not only from a functional but also from a quality perspective. The source code components are assessed for their reusability, i.e. the extent to which they can be reused.

QualBoa is offered as an open source tool, of which the source code is available here.

The Boa query used to computed the metrics for the reusability model of QualBoa is available here.

In addition, the dataset used for evaluating QualBoa in a component reuse scenario is available here.

Chapter 10: Assessing the Reusability of Source Code Components

This chapter presents a methodology for assessing the reusability of source code components by employing popularity and reuse information as ground truth. The reusability model is built on a dataset of the 100 most starred and 100 most forked GitHub Java projects, which, upon removing duplicates, amount to 137 projects.

The list of projects used for determining the correlation between stars and forks is available here.

The list of projects used for developing our model is available here.

The evaluation is performed in a set of five software projects, out of which three were created by developers and were downloaded from GitHub (projects realm/realm-java, liferay/liferay-portal, and spring-projects/spring-security) and two were auto-generated using the tools of S-CASE (projects Webmarks and WSAT).