La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Visualisations novatrices pour la compréhension de réseaux et de logiciels complexes

Rufiange, Sébastien (2013). Visualisations novatrices pour la compréhension de réseaux et de logiciels complexes. Thèse de doctorat électronique, Montréal, École de technologie supérieure.

[img]
Prévisualisation
PDF
Télécharger (16MB) | Prévisualisation
[img]
Prévisualisation
PDF
Télécharger (1MB) | Prévisualisation

Résumé

La visualisation d’information a le potentiel de pouvoir exploiter nos capacités visuelles, acquises au fil de centaines de millions d’années d’évolution, afin de faciliter la découverte de secrets enfouis dans les données, de nouveaux patrons ou de relations insoupçonnées. Il existe toutefois une grande variété de données, plus ou moins structurées, que l’on cherche à comprendre sous diverses perspectives.

En particulier, les données sous forme de réseaux servent à modéliser des phénomènes importants, tels que les communautés sociales ou les transactions financières, mais peuvent être difficiles à représenter si les réseaux sont grands, hiérarchiques, et/ou dynamiques. Cette thèse se concentre sur la conception de nouvelles techniques de visualisation de réseaux, dans le but de faciliter la compréhension de données.

Les techniques de visualisation présentes dans la littérature sont utiles dans certains contextes et comportent chacune des limitations. Néanmoins, il existe encore des possibilités inexplorées pour créer des nouvelles façons de représenter des données. La validation de ces nouvelles techniques demeure un défi. En outre, les interfaces doivent être simples à utiliser, mais aussi faciliter l’analyse et l’exploration de données.

Dans le but d’étudier de nouvelles options de visualisations pour faciliter des tâches de compréhension des données, nous avons d’abord classifié les travaux antérieurs avec des taxonomies. De cette manière, nous avons aussi pu mettre en lumière des nouvelles pistes d’hybrides (c’est-à-dire, des combinaisons d’approches) potentiellement intéressantes pour visualiser des réseaux statiques et dynamiques.

Les contributions présentées dans cette thèse couvrent différents aspects de la visualisation de réseaux complexes et dynamiques. D’abord, le premier chapitre se concentre sur la visualisation de réseaux statiques comportant des hiérarchies, par la combinaison d’approches. Le prototype décrit dans le deuxième chapitre permet également de combiner des représentations visuelles, mais peut être aussi utilisé afin de modéliser des graphes dynamiques. Enfin, le troisième chapitre présente une nouvelle méthode visuelle appliquée afin de tracer l’évolution de structures de conception complexes dans des logiciels (modélisés par des réseaux).

Ainsi, dans le premier prototype (TreeMatrix), des parties de graphes sont montrées avec des matrices et des diagrammes noeuds-liens, alors que les arborescences sont représentées par des diagrammes en glaçons et des regroupements. Contrairement aux autres visualisations dans la littérature, cette nouvelle technique aide à montrer des réseaux denses, sans nuire à la compréhension des liens à plus haut niveau. Une expérience avec des utilisateurs a montré certains avantages afin de découvrir et organiser les liens de modules au sein d’un logiciel, en comparaison avec le logiciel commercial Lattix.

Nous avons également combiné des approches de manière novatrice pour notre second prototype (DiffAni) afin de visualiser des réseaux qui évoluent dans le temps. DiffAni est le premier hybride interactif de graphes dynamiques et sa validation avec des participants a permis de faire ressortir certains avantages. Ainsi, l’utilisation d’animation doit être modérée et est surtout utile lors de mouvements significatifs. Ces résultats, avec nos taxonomies, pourraient contribuer à guider la création de nouveaux hybrides dans le futur.

Le troisième prototype (IHVis) a facilité l’exploration et le traçage de structures de conception dans des logiciels en évolution (modélisés par des réseaux) à partir de répertoires de code source. Cette nouvelle visualisation a notamment révélé des cas d’introduction de points de stabilité et des refactorings, et certains participants ont aussi trouvé d’autres informations intéressantes, telles que l’extension de fonctionnalités par l’implémentation d’interfaces.

En résumé, cette thèse présente des façons novatrices et utiles de visualiser des réseaux complexes et dynamiques. Nos principales contributions sont (1) l’exploration d’espaces de conception de nouvelles visualisations de réseaux à l’aide de taxonomies, (2) la conception de prototypes combinant des approches pour visualiser des réseaux hiérarchiques et dynamiques, (3) la conception d’une nouvelle méthode visuelle d’exploration des variations et des instabilités au sein de logiciels en évolution, (4) l’évaluation de ces techniques à l’aide d’expériences avec des participants.

Titre traduit

Novel visualizations to understand complex networks and software

Résumé traduit

The presentation of information can potentially benefit from our biological visual system, which evolved over hundreds of millions of centuries, to facilitate the discovery of hidden secrets, new patterns or unexpected relationships in data. There is much information in the world, of various kinds, structured or unstructured, that we seek to understand from different points of view. In the literature, visualization techniques can be useful in specific contexts, but each has its own limitations. However, there are still many opportunities to create and explore new ways of representing data and networks. The validation of these novel techniques remains a challenge. Indeed, these new interfaces must be easy to use, but at the same time, help users analyze and explore complex data.

In particular, important data can be modeled as networks, such as social interactions or financial transactions, but it is harder to visualize these networks if they are large, include hierarchies and/or evolve over time. This thesis focuses on designing new visualization techniques of networks to facilitate the understanding of data.

In the goal of comparing alternative visualization techniques to support data comprehension tasks, we have classified previous work using taxonomies. We were thus able to reveal new interesting combinations (or hybrids) to visualize static and dynamic networks.

Our contributions cover different aspects of the visualization of complex and dynamic graphs. The first chapter focuses on visualizing static compound graphs by combining existing techniques. The prototype that we describe in the second chapter also explores combinations of representations, but can be used to show dynamic graphs. Finally, the third chapter present a new visual and practical approach to track complex software structures in evolving software designs (modeled as networks).

In our first prototype (TreeMatrix), parts of a network are shown using matrices and nodelink diagrams, while tree structures are shown using icicle diagrams and nested enclosures. One benefit of this technique is that it helps visualize dense networks, without affecting the ability to comprehend higher level relationships. A user study has shown advantages of using our novel technique to discover and organize links in a software design, compared to a mature commercial tool (Lattix).

We also combined techniques in novel ways in our second prototype (DiffAni) to visualize evolving networks. DiffAni is the first hybrid approach that can be used for dynamic networks, and its validation using human subjects revealed benefits in some cases. Thus, animation should be used sparingly, i.e., when there is significant movement in a network. These results along with our taxonomies could guide the exploration of more novel combinations in future work.

Finally, our third prototype (IHVis) focused on exploring and tracking evolving software design structures. Using data collected in software source code repositories, our new visual tool was able to discover interesting cases of stability protection, and refactorings. Also, several human subjects reported their findings, such as the implementation of new variations in features.

In summary, this thesis present novel and useful ways to show complex and evolving network structures. Our main contributions are (1) the exploration of design spaces for novel network visualizations using taxonomies, (2) implementation of prototypes combining techniques to visualize compound graphs and dynamic networks, (3) a new visual method to explore extensions and instabilities in evolving software, (4) the evaluation of these techniques in user studies.

Type de document: Mémoire ou thèse (Thèse de doctorat électronique)
Renseignements supplémentaires: "Thèse par articles présentée à l'École de technologie supérieure comme exigence partielle à l'obtention du doctorat en génie". Bibliographie : pages 137-151.
Mots-clés libres: Réseaux d'information. Génie logiciel. Visualisation de l'information. complexe, hybride, logiciel, taxonomie, réseau, visualisation de logiciels
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
Fuhrman, Christopher
Co-directeurs de mémoire/thèse:
Co-directeurs de mémoire/thèse
McGuffin, Michael John
Programme: Doctorat en génie > Génie
Date de dépôt: 22 nov. 2013 15:48
Dernière modification: 10 mars 2017 21:18
URI: http://espace.etsmtl.ca/id/eprint/1221

Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt

Statistique

Plus de statistique...