Litcius/Paper detail

Effective Hybrid Content-Based Collaborative Filtering Approach for Requirements Engineering

Qusai Y. Shambour, Abdelrahman H. Hussein, Qasem M. Kharma, Mosleh M. Abualhaj

2021Computer Systems Science and Engineering31 citationsDOIOpen Access PDF

Abstract

Requirements engineering (RE) is among the most valuable and critical processes in software development. The quality of this process significantly affects the success of a software project. An important step in RE is requirements elicitation, which involves collecting project-related requirements from different sources. Repositories of reusable requirements are typically important sources of an increasing number of reusable software requirements. However, the process of searching such repositories to collect valuable project-related requirements is time-consuming and difficult to perform accurately. Recommender systems have been widely recognized as an effective solution to such problem. Accordingly, this study proposes an effective hybrid content-based collaborative filtering recommendation approach. The proposed approach will support project stakeholders in mitigating the risk of missing requirements during requirements elicitation by identifying related requirements from software requirement repositories. The experimental results on the RALIC dataset demonstrate that the proposed approach considerably outperforms baseline collaborative filtering-based recommendation methods in terms of prediction accuracy and coverage in addition to mitigating the data sparsity and cold-start item problems.

Topics & Concepts

Requirements elicitationComputer scienceRequirements engineeringCollaborative filteringRequirements managementProcess (computing)Software requirements specificationSoftware engineeringRequirements analysisSoftware requirementsRecommender systemRequirement prioritizationSoftwareUser requirements documentBaseline (sea)DatabaseData miningSoftware developmentInformation retrievalComponent-based software engineeringSoftware designOperating systemProgramming languageGeologyOceanographyRecommender Systems and TechniquesSoftware Engineering Techniques and PracticesSoftware Engineering Research