The Current State and Future of Search Based Software Engineering Mark Harman 1 IEEE International Conference on Software Engineering FoSE 07: Future of Software Engineering 1 King's College, LONDON, UK Présenté le 08/02/06 par Marouane Kessentini 2 2 GEODES, UdeM, MONTRÉAL, CANADA 1
Présentation de l article @article author = {Mark Harman}, title = {The Current State and Future of Search Based Software Engineering}, booktitle = {FoSE '07: 2007 Future of Software Engineering}, year = {2007}, isbn = {0-7695-2829-5}, pages = {342--357}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 2
Plan 1. Introduction 2. Contexte 3. Applications des techniques d optimisation en génie logiciel 4. Problèmes actuels et futurs du S.B.S.E 5. Conclusion 6. Discussions IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 3
Introduction Search Based Software Engineering : application des techniques d optimisation combinatoire en génie logiciel Domaine en plein essor (publications, revues, ) Plusieurs domaines d application depuis 2001 (maintenance, test de logiciels, conception ) IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 4
Objectif de l article Présentation d un domaine émergent :le SBSE enjeux, principaux problèmes à résoudre, travaux faits/à faire, outils utilisés Les techniques d optimisation adaptées pour les problèmes en génie logiciel? Les domaines d application du SBSE? Les Voies futures de recherche en SBSE? IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 5
Plan 1. Introduction 2. Contexte 3. Applications des techniques d optimisation en génie logiciel 4. Problèmes actuels et futurs du S.B.S.E 5. Conclusion 6. Discussions IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 6
Thématiques et enjeux de la recherche Thématiques de recherche en S.B.SE Transformation des modèles Planification des projets Estimation du coût, délais et qualité Sélection des composantes réutilisables Enjeux de la recherche Comment peut-on automatiser ces transformations? Comment optimiser l affectation de compétences aux tâches? Comment prédire et/ou optimiser les performances de conception (délais, coût, qualité)? Comment peut-on réduire l espace de recherche des composantes? Comment l automatiser? IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 7
Approche d optimisation combinatoire Optimisation Combinatoire Méthode exacte Méthode approchée Heuristiques Métaheuristiques IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 8
Search Based Software Engineering Les méthodes exactes (simplex, branch and bound ) ne sont pas adaptées à la résolution des problèmes en génie logiciel : explosion combinatoire, problème de formalisation en équation linéaire, dynamique de l environnement, IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 9
Métaheuristique Une métaheuristique est une méthode qui cherche une solution proche de l optimalité Classification des métaheuristiques Recherche locale Méthode descendante (Hill Climbing) (Pap 76) Recuit simulé (Metropolis 53) Tabou (Glover 86) Algorithmes évolutifs Programmation Génétique (Fogel et al. 66) Algo. Génétique (Holland 75) Stratégies d évolution (Schwefel 75) IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 10
Motivations du S.B.S.E Search Based Software Engineering (Harman and Jones, Information and Software technology, 2001) Motivations 1) Optimum global : en estimation du coût, le but est d améliorer les modèles permettant de prédire le coût et l effort une solution exacte n est pas demandé 2) «Predictability» : à chaque exécution, il existe différents résultats une solution proche de l optimalité demande un bon nombre d itération 3) Complexité : le temps d exécution dépend de la formulation du problème en génie logiciel en un problème d optimisation il faut avoir beaucoup d imagination et de créativité! IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 11
Outline 1. Introduction 2. Contexte 3. Applications des techniques d optimisation en génie logiciel 4. Problèmes actuels et futurs du S.B.S.E 5. Conclusion 6. Discussions IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 12
Du S.E au S.B.S.E Software Engineering Problème en génie logiciel Représentation Métaheuristique Search Based Software Engineering Fonction d évaluation (Fitness) Opéarateurs Choix du codage Choix de la fonction Problème reformulé IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 13
Domaines d application existants Domaines Estimation du coût de logiciel Planification des projets Maintenance et reverse engineering Autres Dolado 00, Shepperd '98, Kirsopp et al. 02 Coffman et al. 84, Antoniol et al. 04, Chicano et al. 05 Mancoridis et al. 99, Mitchell et al. 06 Mahdavi et al. 03 Optimisation du code source, Test logiciel, N.R.P, IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 14
Domaines d application/techniques Domaines du S.E Techniques utilisées Estimation du coût de logiciel Méthode descendante Planification des projets Test logiciel Algorithmes génétique, recuit simulé, méthode descendante Algorithmes génétique Maintenance et reverse engineering Méthode descendante, algorithmes génétique, recuit simulé IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 15
Exemple : Planification des projets Répartition des équipes/tâches par un algorithme génétique (GA) Antoniol et al. 04 [equilibrium reached] Determine/negociate the available staff true false GA Stage 1: Determine the optimal Work Package ordering Optimal/near-optimal: 1)WP ordering 2)Team organization Simulation sensitivity Analysis false [Deadline met] true GA Stage 2: Determine the optimal team organization IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 16
G.A. : Planification des projets Problème : déterminer l ordonnancement optimal des WPs/Teams Antoniol et al. 04 1) Représentation : entiers, 2) Fonction d évaluation (fitness) : Nombre de WPs Position du WP dans la file:4 4 2 7 Input 3) Opérateur : Mutation P1 k=2 (random) 4 2 3 6 Fonction fitness P2 4 6 3 2 Estimation du temps nécessaire (Antoniol 04) Output F1 4 2 6 3 F2 4 6 2 3 IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 17
Outline 1. Introduction 2. Contexte 3. Applications des techniques d optimisation en génie logiciel 4. Problèmes actuels et futurs du S.B.S.E 5. Conclusion 6. Discussions IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 18
Problèmes actuels Principaux problèmes : Choix d une métaheuristique : comment choisir une méthode efficace? Pas de «recette miracle»! appel au savoir faire et l expérience de l utilisateur. Guider le choix par l analyse du «paysage» de la fonction de coût (recherches en cours) Critère d arrêt : en A.G, le critère d arrêt est que la population devient homogène (chromosomes homogènes). Comment mesurer cette similarité? Comment définir les métriques de similarité pour les problèmes en GL? IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 19
Voies futures du recherche : Optimisation multi-objectif Optimisation Multi-Objectifs: optimiser simultanément plusieurs objectifs d un même problème Clergue et al. 96 La plupart des problèmes en GL sont multiobjectifs Chicano et al. 05 Exemple : Planification des projets (ordonnancement des tâches(wp) selon plusieurs objectifs: priorité, nombre de projets/temps ) IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 20
Autres voies futures du recherche Hybridation des algorithmes d optimisation Harman et al. 04 Optimisation interactive: prendre en considération le jugement humain dans la fonction d evaluation (fitness) Funes et al. 04 Adaptation des techniques PSO (Particle Swarm optimization) et ACO (Ant Colony Optimization) à un probléme en génie logiciel IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 21
Outline 1. Introduction 2. Contexte 3. Applications des techniques d optimisation en génie logiciel 4. Problèmes actuels et futurs du S.B.S.E 5. Conclusion 6. Discussions IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 22
Conclusion Étude d un nouveau domaine: S.B.S.E Peu de travaux qui existent dans ce domaine Les travaux existants en S.B.S.E Les limites/problémes de l utilisation des techniques d optimisation en GL Voies futures de recherche des travaux en S.B.S.E IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 23
Outline 1. Introduction 2. Contexte 3. Applications des techniques d optimisation en génie logiciel 4. Problèmes actuels et futurs du S.B.S.E 5. Conclusion 6. Discussions IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 24
Article de Knuth Knuth s Structured Programming with goto Statements automatically assemble integrated programs from wellstructured ones (P. 295) Premature optimization is the root of all evil (P. 268) IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 6 25
Discussions Structure générale Quelques sections de l article sont mal placées (par exemple: motivations pour les métaheuristiques ) Forces du message Bibliographie sérieuse, beaucoup d exemples, Faiblesses du message Confusion entre les problèmes de SE à résoudre (par une technique de recherche) et les problèmes au sein même de la technique de recherche adoptée IEEE IC FoSE'07 // May 20th - 26th // Minneapolis, USA 1 2 3 4 5 6 26
Merci pour votre attention! Questions? 27