Skip to main navigation Skip to search Skip to main content

Systematic review of recommendation systems in software engineering

  • Sana Maki

Student thesis: Master's thesisMaster in Engineering: Engineering

Abstract

Recommendation Systems in Software Engineering (RSSE) represent a promising research area in software evolution and maintenance, as they assist developers in their tasks by providing information items that can be relevant to the context of the task at hand. These information items can be reusable code snippets retrieved from previous versions of a project, method invocations from external libraries, solutions extracted from bug reports, etc. In literature, existing RSSEs come in different shapes and support various goals. Yet, they share many features and often require the same steps. A handful works highlights the basic keys to build a RSSE. However, these key steps ran into many ambiguities when we tried to analyze some RSSEs. These ambiguities leaded us to consider a different approach in order to clarify different aspects of these key steps. In this thesis, we conduct a systematic literature review that identifies various features characterizing basic components we need to implement RSSE. To do so, we analyze a sample of 46 RSSEs. First, we analyzed the context extraction component which retrieves the contextual information of the programming task at hand that can be possibly treated and rendered as an output to the second component. This component is the recommendation engine which matches the extracted context with data stored in a corpus in order to generate a set of recommendations that can be filtered before being presented to the developer. This analysis led us to propose a feature model that represents important characteristics of each component illustrated through the analyzed RSSEs and identify some open issues.
Date27 Jul 2016
Original languageAmerican English
Awarding Institution
  • École de technologie supérieure
SupervisorSègla Jean-Luc Kpodjedo (Supervisor) & Ghizlane El Boussaidi (Co-supervisor)

Cite this

'