La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Systematic review of recommendation systems in software engineering

Maki, Sana (2016). Systematic review of recommendation systems in software engineering. Mémoire de maîtrise électronique, Montréal, École de technologie supérieure.

[img]
Prévisualisation
PDF
Télécharger (1MB) | Prévisualisation
[img]
Prévisualisation
PDF
Télécharger (542kB) | Prévisualisation

Résumé

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.

Titre traduit

Étude systématique des systèmes de recommandation en génie logiciel

Résumé traduit

Les systèmes de recommandation en génie logiciel représentent un domaine de recherche intéressant pour l'évolution et la maintenance des systèmes logiciels, puisqu'ils aident les développeurs dans leurs tâches en suggérant des informations qui peuvent être pertinentes au contexte de la tâche en cours. Ces suggestions peuvent être des fragments de code réutilisables extraits à partir des versions précédentes d'un projet, des invocations de méthodes de bibliothèques externes, des solutions extraites des rapports de bugs, etc.

Dans la littérature, les systèmes de recommandation en génie logiciel existants se présentent sous différentes formes et soutiennent divers objectifs. Ils partagent de nombreuses caractéristiques et nécessitent souvent les mêmes étapes. Cependant, quelques travaux mettent en évidence les étapes fondamentales pour construire un système de recommandation. En essayant d'analyser quelques systèmes de recommandation, nous avons remarqué de nombreuses ambiguïtés dans quelques aspects de ces étapes. D'où vient le besoin de considérer une approche différente afin de clarifier les différents aspects de ces étapes.

Dans ce mémoire, nous présentons une revue de littérature systématique qui identifie les différentes caractéristiques des composants fondamentaux dont on a besoin pour implémenter un système de recommandation en génie logiciel. Pour ce faire, nous avons analysé un échantillon de 46 outils de recommandation. D'abord, nous avons analysé le processus d'extraction de contexte qui permet de récupérer les informations contextuelles de la tâche de programmation en cours. le contexte peut être éventuellement traitées et rendues sous la forme d'une sortie qui va être utilisé par le moteur de recommandation. Ce dernier récupère des cas similaires au contexte extrait à partir d'un corpus de données, afin de générer un ensemble de recommandations qui peut être filtré avant d'être présenté au développeur.

Cette analyse nous a permis de proposer un modèle de fonctionnalités qui représente des caractéristiques importantes de chaque composant, illustrées à travers les systèmes de recommandation analysés et d'identifier certains problèmes.

Type de document: Mémoire ou thèse (Mémoire de maîtrise électronique)
Renseignements supplémentaires: "Thesis presented to École de technologie supérieure in partial fulfillment of the requirements for a master's degree with thesis in software engineering". Bibliographie : pages 95-102.
Mots-clés libres: Systèmes d'aide à la décision. Logiciels Entretien et réparations Prise de décision. Revues de la littérature. Exploration de données (Informatique) Informatique sensible au contexte. génie, logiciel, recommandation, système, maintenance des logiciels
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
Kpodjedo, Sègla
Co-directeurs de mémoire/thèse:
Co-directeurs de mémoire/thèse
El Boussaidi, Ghizlane
Programme: Maîtrise en ingénierie > Génie
Date de dépôt: 11 nov. 2016 20:07
Dernière modification: 10 déc. 2016 17:22
URI: http://espace.etsmtl.ca/id/eprint/1755

Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt

Statistique

Plus de statistique...