Page principale | Projets | Publications | Thèses | Présentations | Membres | Cours | Gallerie | Intérêt local
Home | Projects | Publications | Theses | Presentations | People | Courses | Gallery | Local interest
 

  Intégration de la visualisation à multiples vues
pour le développement du logiciel

Sommaire

Le développement du logiciel actuel doit faire face de plus en plus à la complexité de programmes gigantesques, élaborés et maintenus par de grandes équipes, réparties dans divers lieux. Dans ses tâches régulières, chaque intervenant peut avoir à répondre à des questions variées en tirant des informations de sources diverses. Pour améliorer le rendement global du développement, nous proposons d'intégrer dans un IDE populaire (Eclipse) notre nouvel outil de visualisation (VERSO) qui calcule, organise, affiche et permet de naviguer dans les informations de façon cohérente, efficace et intuitive, afin de bénéficier du système visuel humain dans l'exploration de données variées. Nous proposons une structuration des informations selon trois axes : (1) le contexte (qualité, contrôle de version, bogues, etc.) détermine le type des informations ; (2) le niveau de granularité (ligne de code, méthode, classe, paquetage) dérive les informations au niveau de détails adéquat ; et (3) l'évolution extrait les informations de la version du logiciel désirée. Chaque vue du logiciel correspond à une coordonnée discrète selon ces trois axes, et nous portons une attention toute particulière à la cohérence en naviguant entre des vues adjacentes seulement, et ce, afin de diminuer la charge cognitive de recherches pour répondre aux questions des utilisateurs. Deux expériences valident l'intérêt de notre approche intégrée dans des tâches représentatives. Elles permettent de croire qu'un accès à diverses informations présentées de façon graphique et cohérente devrait grandement aider le développement du logiciel contemporain.

Abstract

Nowadays, software development has to deal more and more with complex huge programs, constructed and maintained by large teams working in different locations. During his daily tasks, each developer may have to answer varied questions using information coming from different sources. In order to improve global performance during software development, we propose to integrate to a popular IDE (Eclipse) our new visualization tool (VERSO), which computes, organizes, displays and allows navigation through information in a coherent, effective, and intuitive way in order to benefit from the human visual system when exploring complex data. We propose to structure information along three axes: (1) context (quality, version control, etc.) determines the type of information; (2) granularity level (code line, method, class, and package) determines the appropriate level of details; and (3) evolution extracts information from the desired software version. Each software view corresponds to a discrete coordinate according to these three axes. Coherence is maintained by navigating only between adjacent views, which reduces cognitive effort as users are searching information to answer their questions. Two experiments involving representative tasks have validated the interest for our integrated approach. Results lead us to believe that an access to varied information represented graphically and coherently should be highly beneficial to the development of modern software.

Mots-clés

Visualisation, développement de logiciel, environnement de développement, intégration, évolution du logiciel, animation.
Visualization, software development, development environment, integration, software evolution, animation.

Online version

Available here in French (en français) in Adobe PDF format (3.3 MB).
Slides of the defense here in PowerPoint in French (en français).
Short video used during the defense here in wmv.

BibTeX

@PhdThesis{Langelier:2010:PHD,
  author =       "Guillaume Langelier",
  title =        "Int{\'e}gration de la visualisation {\`a} multiples vues pour le d{\'}eveloppement du logiciel",
  month =        dec,
  year =         2010,
  type =         "Ph.D. Thesis",
  school =       "D{\'e}partement d'Informatique et Recherche 
                  Op{\'e}rationnelle, Universit{\'e} de Montr{\'e}al",
}