1 / 25

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. Problème. Les outils existants sont développés pour des tâches spécifiques

nessa
Download Presentation

Ahmed Sfayhi , Houari Sahraoui { sfayhiah , sahraouh}@iro.umontreal.ca

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Problème

  3. 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

  4. 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.

  5. Proposition

  6. Méta-modèle des tâchesd’analyses

  7. Primitives (description des tâchesd’analyses) Baséessur la listeproposée par Amar et al. [2]

  8. Méta-modèle des outils de visualisation

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

  10. Interactions Inspirée de la taxonomieproposée par Shneiderman [15]

  11. Transformation des primitives en des interactions • Chaque primitives estréalisée: • Dansdifférentoutils de visualisations • De plusieursmaniére • Avec différentes configurations

  12. 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} • …

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

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

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

  16. Croisement

  17. 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 • …

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

  19. 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

  20. Évaluation • Détectiond'anomalie de conception: • Détection de Blob • Outil de visualisation : • Verso

  21. 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) Computederived value(RelData, count, Num) if (ishighNum) { operation (+, Found, Found, c) } } }

  22. Meilleurscénariogénéré 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) } } Scenario( Data class verification) { For each(c in CC) { Overview(Class) Applyautomaticfilter(Class , iscalled(c) ) Tag (REL,Result) Overview(Class) 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) } } }

  23. Résumé Nous avonsproposéuneapprochequi permet de: • Définirles tâchesd’analyseset les scénarios de visualisations. • Générerle meilleurscénario de visualisation pour unetâched’analyse et un outil de visualisation donnés.

  24. Travaux futures • Considérer plus de composante de la visualisation (layout, …) • Améliorer la définition de l’effort • Réutilisercetteapproche pour choisirl’outil le plus adapté à unetâched’analysedonnée

  25. ?

More Related