The Package Blueprint: visually analyzing ...
Type de document :
Article dans une revue scientifique: Article original
Titre :
The Package Blueprint: visually analyzing and quantifying package dependencies
Auteur(s) :
Abdeen, Hani [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Pollet, Damien [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Alloui, Ilham [Auteur]
Laboratoire d'Informatique, Systèmes, Traitement de l'Information et de la Connaissance [LISTIC]
Falleri, Jean-Rémy [Auteur]
Laboratoire Bordelais de Recherche en Informatique [LaBRI]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]

Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Pollet, Damien [Auteur]

Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Alloui, Ilham [Auteur]
Laboratoire d'Informatique, Systèmes, Traitement de l'Information et de la Connaissance [LISTIC]
Falleri, Jean-Rémy [Auteur]
Laboratoire Bordelais de Recherche en Informatique [LaBRI]
Titre de la revue :
Science of Computer Programming
Pagination :
pp. 298-319
Éditeur :
Elsevier
Date de publication :
2014-03-10
ISSN :
0167-6423
Discipline(s) HAL :
Informatique [cs]/Langage de programmation [cs.PL]
Résumé en anglais : [en]
Large object-oriented applications are structured over many packages. Packages are important but complex structural entities that are difficult to understand since they act as containers of classes, which can have many ...
Lire la suite >Large object-oriented applications are structured over many packages. Packages are important but complex structural entities that are difficult to understand since they act as containers of classes, which can have many dependencies with other classes spread over multiple packages. However to be able to take decisions (e.g., refactoring and/or assessment decisions), maintainers face the challenges of managing (sorting, grouping) the massive amount of dependencies between classes spread over multiple packages. To help maintainers, there is a need for at the same time understanding, and quantifying, dependencies between classes as well as understanding how packages as containers of such classes depend on each other. In this paper, we present a visualization, named Package Blueprint, that reveals in detail package internal structure, as well as the dependencies between an observed package and its neighbors, at both package and class levels. Package Blueprint aims at assisting maintainers in understanding package structure and dependencies, in particular when they focus on few packages and want to take refactoring decisions and/or to assess the structure of those packages. A package blueprint is a space filling matrix-based visualization, using two placement strategies that are enclosure and adjacency. Package blueprint is structured around the notion of surfaces that group classes and their dependencies by their packages (i.e., enclosure placement); whilst surfaces are placed next to their parent node which is the package under-analysis (i.e., adjacency placement). We present two views: one stressing how an observed package depends upon the rest of the system and another stressing how the system depends upon that package. To evaluate the contribution of package blueprint for understanding packages we performed an exploratory user study comparing package blueprint with an advanced IDE. The results shows that users of package blueprint are faster in analyzing and assessing package structure. The results are proved statically significant and they show that package blueprint considerably improve the experience of standard browser users.Lire moins >
Lire la suite >Large object-oriented applications are structured over many packages. Packages are important but complex structural entities that are difficult to understand since they act as containers of classes, which can have many dependencies with other classes spread over multiple packages. However to be able to take decisions (e.g., refactoring and/or assessment decisions), maintainers face the challenges of managing (sorting, grouping) the massive amount of dependencies between classes spread over multiple packages. To help maintainers, there is a need for at the same time understanding, and quantifying, dependencies between classes as well as understanding how packages as containers of such classes depend on each other. In this paper, we present a visualization, named Package Blueprint, that reveals in detail package internal structure, as well as the dependencies between an observed package and its neighbors, at both package and class levels. Package Blueprint aims at assisting maintainers in understanding package structure and dependencies, in particular when they focus on few packages and want to take refactoring decisions and/or to assess the structure of those packages. A package blueprint is a space filling matrix-based visualization, using two placement strategies that are enclosure and adjacency. Package blueprint is structured around the notion of surfaces that group classes and their dependencies by their packages (i.e., enclosure placement); whilst surfaces are placed next to their parent node which is the package under-analysis (i.e., adjacency placement). We present two views: one stressing how an observed package depends upon the rest of the system and another stressing how the system depends upon that package. To evaluate the contribution of package blueprint for understanding packages we performed an exploratory user study comparing package blueprint with an advanced IDE. The results shows that users of package blueprint are faster in analyzing and assessing package structure. The results are proved statically significant and they show that package blueprint considerably improve the experience of standard browser users.Lire moins >
Langue :
Anglais
Comité de lecture :
Oui
Audience :
Internationale
Vulgarisation :
Non
Collections :
Source :
Fichiers
- https://hal.inria.fr/hal-00957695/document
- Accès libre
- Accéder au document
- https://hal.inria.fr/hal-00957695/document
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- Abde14a-PackageBlueprint-SCP.pdf
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- Abde14a-PackageBlueprint-SCP.pdf
- Accès libre
- Accéder au document