Conclusion générale
La prédiction des défauts logiciels (SFP) est
l'une des modèles de qualité qui aident à conduire
sainement le cycle de vie du développement logiciel. Il est donc
important et bénéfique de ne pas simplement détecter
l'occurrence du défaut en tant que pré-activité mais aussi
de les prédire afin d'empêcher le défaut avant qu'il ne
devienne réel.
Dans ce cadre que s'inscrit notre travail, nous avons
utilisé une technique d'apprentissage automatique dont le but est de
prédire les défauts logiciels lors de la phase initiale. Pour
réaliser notre travail on a utilisé une technique avancée
d'apprentissage automatique qui est l'apprentissage profond. Récemment,
cette technique a été adopté pour améliorer des
tâches de recherche en génie logiciel. L'approche proposée
dans ce mémoire, utilise l'algorithme de réseau de neurones
convolutifs (CNN) afin de prédire les défauts logiciels et ce
dans le but de conduire le cycle de vie du développement logiciel
sainement. Ce choix est justifié par la simplicité et
l'efficacité de la méthode.
Nous avons proposé un modèle CNN
amélioré pour la prédiction des défauts logiciels
afin de valider l'hypothèse selon laquelle les modèles CNN peut
surpasser les modèles d'apprentissage automatique traditionnels. Nous
avons choisi deux ensembles de données : 09 projets ont
été choisis de la base de données NASA MDP et 05 projets
de SOFTLAB. Plusieurs métriques ont été extraient de ces
bases données afin de construire les données d'apprentissage/test
du CNN. Après une phase de prétraitement des données, une
phase d'apprentissage est lancée pour créer le modèle CNN
approprié. Plusieurs mesures de
Conclusion Générale 76
performances telles que : précision, F1-score, recall
ont contribué à l'évaluation expérimentale de notre
SFP-NN. Notre approche a obtenu des résultats satisfaisants, comparables
ou meilleurs que les modèles de pointe existants. Nous avons obtenus un
accuracy égal à 0.99 pour MC1, 0.98 pour AR5, et 0.99 pour P et
le reste d'ensembles de données utilisé dans notre approche ont
également obtenu de bons résultats comme PC1= 0.93, KC1 = 0.97,
AR4= 0.97 etc... .
Afin de valider notre SFP-NN, nous l'avons comparé avec
d'autres techniques d'apprentissage traditionnelles : Foret aléatoire,
machine à vecteur de support et la régression logistique qui sont
évalués à l'aide de précision, de la recall, du F1-
score, du rappel et de l'exactitude. Nous avons obtenu avec SVM sur
PC1 un accuracy de 0.73, F1- score = 0.84, recall= 0.83 et précision =
0.84. Avec foret aléatoire sur PC1 un accuracy de 0.71, F1-
score = 0.57, recall = 0.93 et une précision de 0.80. Avec la
régression logistique sur PC1 nous avons obtenus un accuracy de 0.71,
F1- score était 0.57, recall était 0.60 et précision
était 0.57.
Le résultat obtenu lors de la phase de test confirme
l`efficacité de notre approche. Notre travail n`est que dans sa version
initiale, on peut dire que ce travail reste ouvert pour d'autres extensions.
Comme extension du travail proposé :
- Nous pouvons bénéficier des avantages des
autres techniques de deep learning et les comparer avec notre SFP-NN
- Appliquer des techniques de sélection d'attributs
afin de garder seulement les attributs les plus pertinents et pour avoir un jeu
de données équilibré et normalisé,
- D'autres techniques de prétraitement peuvent
être envisageable afin de rendre l'ensemble de données
d'apprentissage le plus optimal que possible,
77
Bibliographies 77
|