ahmed sfayhi , houari sahraoui { sfayhiah , sahraouh}@iro.umontreal.ca

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

Upload: nessa

Post on 24-Feb-2016

36 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

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

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

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

2

Problème

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

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

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

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.

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

5

Proposition

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

6

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

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

7

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

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

8

Méta-modèle des outils de visualisation

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

9

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

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

10

InteractionsInspirée de la taxonomie proposée par Shneiderman [15]

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

11

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

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

12

• 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}– …

Transformation des primitives en des interactions

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

13

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)

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

14

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

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

15

Génération de la population de base

Probabilité de sélection proportionnelle au coût  (appelé roulette)

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

16

Croisement

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

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

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

18

Inadéquation entre les types des données et des attributs graphiques

Classement des attributs graphiques proposé par Mackinlay [13]

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

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

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

20

Évaluation• Détection d'anomalie de conception:

– Détection de Blob

• Outil de visualisation :– Verso

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

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 andininterval LOW MEDIUM LCOM5 andislow 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)}

}}

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

22

Meilleur scénario généréScenario(Blob detection){

Run scenario(Controler class)Run scenario(Data class verification)

}

Scenario(Controler class){

Overview(Class)Block(Class){

Check if(Color:Redand 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)Apply automatic filter(Class , iscalled(c) )Tag (REL,Result)Overview(Class)Block(REL){

Check if(color:blueand height:low)

Select(Result)Tag(RelData,Result)

}Overview(RelData)Do function(count, RelData, Num)Block{

Check if(Num,ishigh)Tag(Blob, c)

} } }

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

23

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.

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

24

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

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

25

?