Ahmed Sfayhi, Houari Sahraoui

Slides:



Advertisements
Présentations similaires
Introduction Rétro ingénierie d’interfaces graphiques
Advertisements

IFT Projet de fin d’études en informatique de gestion
DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien.
© Copyright 2007 Arumtec. All rights reserved. Présentation Etude déligibilité
Réalisation dun compréhenseur multidimensionnel Projet Master Informatique 1ère année Année 2005 Christophe MOUFLIN Jérôme COPPENS.
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Conception de Programmes Evolutifs Pré Soutenance de TER Année Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain.
UML - Présentation.
Understanding, building and using ontologies. Understanding Ontologie : la définition des concepts utilisés dans un langage donné Première approche (Gruber)
But du PPE : Développer les compétences nécessaires pour mener à bien un projet en pratiquant la démarche.
Optimisation dans les télécommunications
Thème « Modélisation comportementale des Systèmes critiques »
Journée de Travail Groupe “Bermudes”
Système de gestion de bases de données. Modélisation des traitements
Alain Le Guennec Jean-Marc Jézéquel Action Triskell
Sélection automatique d’index et de vues matérialisées
Time Series Séries Chronologiques Georges GARDARIN.
Estella Annoni, Franck Ravat, Olivier Teste, Gilles Zurfluh
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Page de garde Introduction aux Design Patterns ISIA, Mars 2003
Le Modèle Dynamique 1. EADS Matra Datavision - Confidentiel
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Démarche Analyse des OGL et des Méthodes Objectifs : Activités :
14/03/2011 United Nations Environment Programme World Conservation Monitoring Centre CCPAWA Knowledge management: Data portal and mapping tool Gestion.
Algorithmique et Programmation
Modèle, Méthode et Conception
SYSTEMES D’INFORMATION
Etude globale de système.
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
MOT Éditeur de modèles de connaissances par objets typés
Mise en œuvre du langage MDX
Unified Modeling Langage
La méthodologie expérimentale Fondements et bases d’application
Présentation du mémoire
Détection et correction des défauts de conception
Cours #7 Vérification d’un modèle VHDL
AIP PRIMECA des Pays de La Loire – 9 novembre 2006
Ingénierie Système en SysML appliquée à la rédaction du cahier des charges Y. Le Gallou Séminaire académique STI2D - Calais – 1er avril 2014.
Patrons de conceptions de créations
Vers un nouvel empirisme: l’ancien et le nouvel empirisme John Goldsmith Université de Chicago CNRS MoDyCo.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Langages de description architecturale.
GESTION DE PRODUCTION ET OPERATIONS – GPO-
Optimisation par les algorithmes génétiques
Optimisation de requêtes
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
« Validation Formelle de Systèmes Interactifs »
SciTools Understand A Source Code Analysis and Metrics Tool
Travaux Pratiques Optimisation Combinatoire
L’évaluation économique des scénarios sylvicoles (activité 6.2) Application Le 3 novembre 2010 Formation PAFI.
Conception d’un langage pour l’algorithme évolutionniste M atthieu CHOUTEAU Y ohann HUBERT C hristophe PANNEAU E stelle FILMON Mr SAUBION – Décembre 2002.
Classification de données par l’algorithme FPSO-GA
Plan de viabilité de France Grilles Hélène Cordier, Gilles Mathieu CTE-15 – mardi 12 juin 2012.
Conception Formelle en PVS Master 2 ISC Chef de Projet: M. Pierre Castéran Présenté par: Roland Atoui Xavier Dumas Sébastien Jardel Laurent Vendredi.
Toolkit WEB de contrôle en SVG Equipe Koala d’ILOG Encadré par Colas Nahaboo Isabelle LAFAYE.
10 février 2010 Sylvain Quéméner et Caroline Moulin Consultants
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
Réalisé avec le soutien de Pied de page fixe Pied de page 1 Titre Sous titre.
Algorithmes génétiques en optimisation combinatoire
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Optimisation par les algorithmes génétiques
1 Logiciels de confection automatique d’horaires.
Vers l’exploitation de grandes masses de données Encadré par : Mme L.Lamarini Présenté par: Rhaz Yassine Smiri Safae Un article de: Raphaeil Féraud,Maroc.
Document de spécification d’exigences Normes IEEE et 29148:2011
Template Method Design Pattern. But Définir le squelette d’un algorithme tout en déléguant certaines étapes aux sous-classes. Les sous-classes peuvent.
Projet de session Par Eve Grenier Dans le cadre du cours SCG Réalisation d’applications en SIG Jeudi le 20 avril 2006.
Transcription de la présentation:

Ahmed Sfayhi, Houari Sahraoui {sfayhiah,sahraouh}@iro.umontreal.ca What you See is what you Asked for: An Effort-based Transformation of Code Analysis Tasks into Interactive Visualization Scenarios Ahmed Sfayhi, Houari Sahraoui {sfayhiah,sahraouh}@iro.umontreal.ca

Problème La visualisation est une des soluton propos/ pour realiser les tache de comprehension du code du retro ingenieurie et de maintenance Pluseurs outils ont été propose pour resoudre different probleme

Problème Les outils existants sont développés pour des tâches spécifiques Il existe différentes manières d'utiliser ces outils L'effort dépend de la manière d’utilisation Comment Utiliser un outil avec le moins d'effort Paramétrer et utiliser un outil de visualisation Définir une tâche d'analyse

Proposition Un assistant de visualisation Trouver des relations entre : l’analyse du code source la visualisation interactive Approche de transformation de modèle: Entrées: la description des tâches d’analyse et la spécification de l'outil. Sortie: le scénario de visualisation. Transformation: optimisation de l’effort.

Proposition

Méta-modèle des tâches d’analyses

Primitives (description des tâches d’analyses) Basées sur la liste proposée par Amar et al. [2]

Méta-modèle des outils de visualisation

Méta-modèle des scénarios de visualisation

Interactions Inspirée de la taxonomie proposée par Shneiderman [15]

Transformation des primitives en des interactions Chaque primitives est réalisée: Dans différent outils de visualisations De plusieurs maniére Avec différentes configurations

Transformation des primitives en des interactions Possibilités de transformation de la primitive Filter Overview, Apply_automatic_filter, Tag Overview, Apply_automatic_filter, Block{Check_if, Tag} Overview, Block{Navigate, Zoom, Select, Check_if, Tag} Overview, Block{Select, Details_on_demand, Check_if, Tag} Change mapping, Overview,Block{Select, Check_if, Tag} …

Génération des Scénarios Transformation Données -> vues Buts -> scénarios Primitives d’analyses -> actions d’interaction Utilisation de la recherche heuristique (AG) Obtenir une solution qui minimise l'effort d'analyse (coût)

Schéma explicatif du fonctionnement de l'algorithme génétique (Wikipedia)

Génération de la population de base Probabilité de sélection proportionnelle au coût  (appelé roulette)

Croisement La mutation se fait d une maniere aleatoire

Contraintes Action d'interaction n'est pas offert par l'outil de visualisation. Incompatibilité entre les actions d'interactions et des attributs graphiques. Fausse hypothèse sur des données Promouvoir les actions automatiques. Inadéquation entre les types des données et des attributs graphiques … Incompatibilité entre les actions : si on associe une metrique a un attribut graphique qu on ne peut voir que de pres comme par exemple une texture sur un cube avec des millier de cube a cote et qu on nous demande d evaluer cette metrique sans nous proposer l action zoom Fausse hypothese : utilisation de detail on demand alors que la metrique demande est mappe sur un attribut graphique visible

Inadéquation entre les types des données et des attributs graphiques Classement des attributs graphiques proposé par Mackinlay [13]

Fonction d'évaluation A chaque contrainte on associe un coût selon son importance. Ces contraintes permettent de définir le coût de chaque solution. La meilleur solution est celle qui viole le moins de contraintes Fitness fonction est la somme des cout de toute les contrainte violee

Évaluation Détection d'anomalie de conception: Détection de Blob Outil de visualisation : Verso est une classe qui monopolise tout le traitement d'un programme, tandis que d'autres classes encapsuler des données.

Description de la tâche de detection de Blob Goal(Blob detection, BlobSet, System) { achieve(Controler class detect, CDD, System) achieve(Data class verif, BlobSet , CDD) } Goal(Controler class detect, Cand, Scope) Filter(Scope, Cand, ishigh WMC and ininterval LOW MEDIUM LCOM5 and islow DIT) Goal(Data class verif, Found, Cand) for each(c, Cand) { Filter(System, Rel, iscalled(c)) Filter(Rel, RelData, islow WMC and islow DIT) Compute derived value(RelData, count, Num) if (ishigh Num) { operation (+, Found, Found, c)

Meilleur scénario généré Scenario( Data class verification) { For each(c in CC) Overview(Class) Apply automatic filter(Class , iscalled(c) ) Tag (REL,Result) Block(REL) Check if(color:blue and height:low) Select(Result) Tag(RelData,Result) } Overview(RelData) Do function(count, RelData, Num) Block Check if(Num,ishigh) Tag(Blob, c) } } } Scenario(Blob detection) { Run scenario(Controler class) Run scenario(Data class verification) } Scenario(Controler class) Overview(Class) Block(Class) Check if(Color:Red and Twist:0 to 45 and Height: Medium To High) Select(Result) Tag (CC, Result)

Résumé Nous avons proposé une approche qui permet de: Définir les tâches d’analyses et les scénarios de visualisations. Générer le meilleur scénario de visualisation pour une tâche d’analyse et un outil de visualisation donnés.

Travaux futures Considérer plus de composante de la visualisation (layout, …) Améliorer la définition de l’effort Réutiliser cette approche pour choisir l’outil le plus adapté à une tâche d’analyse donnée

?