Blueprints - Explore the Science & Experts | ideXlab

Scan Science and Technology

Contact Leading Edge Experts & Companies

Blueprints

The Experts below are selected from a list of 68073 Experts worldwide ranked by ideXlab platform

Alexandre Bergel – One of the best experts on this subject based on the ideXlab platform.

  • Visual patterns with profiling blueprint
    Proceedings of the 7th Workshop on Dynamic Languages and Applications – DYLA '13, 2013
    Co-Authors: Alexandre Bergel, Vanessa Peña, Chris Thorgrimsson, Chung Ho Huang

    Abstract:

    Profiling blueprint is a visual representation of software execution [1]. As most profiling reports, profiling blueprint offers a post-mortem report of an execution. Such a profile blueprint aims at rapidly identifying software components that poorly perform or are considered to be a bottleneck.

  • execution profiling Blueprints
    Software – Practice and Experience, 2012
    Co-Authors: Alexandre Bergel, Felipe Banados, Romain Robbes, Walter Binder

    Abstract:

    Although traditional approaches to code profiling help locate performance bottlenecks, they offer only limited support for removing these bottlenecks. The main reason is the lack of detailed visual runtime information to identify and eliminate computation redundancy. We provide three profiling Blueprints that help identify and remove performance bottlenecks. The structural distribution blueprint graphically represents the CPU consumption share for each method and class of an application. The behavioral distribution blueprint depicts the distribution of CPU consumption along method invocations and hints at method candidates for caching optimizations. The behavioral evolution blueprint compares profiles of different versions of a software system and highlights performance-critical changes in the system. These three Blueprints helped us to significantly optimize Mondrian, an open source visualization engine. Our implementation is freely available for the Pharo development environment and has been evaluated in a number of different scenarios. Copyright © 2011 John Wiley & Sons, Ltd.

  • software process model Blueprints
    ICSP'10 Proceedings of the 2010 international conference on New modeling concepts for today's software processes: software process, 2010
    Co-Authors: Julio Ariel Hurtado Alegria, Alexandre Bergel, Alejandro Lagos, Maria Cecilia Bastarrica

    Abstract:

    Explicitly defining a software process model is widely recognized as a good software engineering practice. However, having a defined process does not necessarily mean that this process is good, sound and/or useful. There have been several approaches for software process evaluation including testing, simulation and metrics; the first one requires software process enactment, i.e., an expensive, risky and long process, and the others require high expertise for correctly interpreting their meaning. In this paper we propose a visual approach for software process model evaluation based on three architectural view types, each one focusing on basic process elements: ROLE BLUEPRINT, TASK BLUEPRINT and WORK PRODUCT BLUEPRINT. They enable visual evaluation of different perspectives of a software process, each being relevant for a particular stakeholder. We illustrate the proposed approach by applying it to the software process defined for a real world company that develops software for retail. We show how design errors were identified.

Jean-rémy Falleri – One of the best experts on this subject based on the ideXlab platform.

  • The Package Blueprint: Visually analyzing and quantifying packages dependencies ☆
    Science of Computer Programming, 2014
    Co-Authors: Hani Abdeen, Stéphane Ducasse, Damien Pollet, Ilham Alloui, Jean-rémy Falleri

    Abstract:

    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.

  • The Package Blueprint: visually analyzing and quantifying package dependencies
    Science of Computer Programming, 2014
    Co-Authors: Hani Abdeen, Stéphane Ducasse, Damien Pollet, Ilham Alloui, Jean-rémy Falleri

    Abstract:

    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.

Walter Binder – One of the best experts on this subject based on the ideXlab platform.

  • execution profiling Blueprints
    Software – Practice and Experience, 2012
    Co-Authors: Alexandre Bergel, Felipe Banados, Romain Robbes, Walter Binder

    Abstract:

    Although traditional approaches to code profiling help locate performance bottlenecks, they offer only limited support for removing these bottlenecks. The main reason is the lack of detailed visual runtime information to identify and eliminate computation redundancy. We provide three profiling Blueprints that help identify and remove performance bottlenecks. The structural distribution blueprint graphically represents the CPU consumption share for each method and class of an application. The behavioral distribution blueprint depicts the distribution of CPU consumption along method invocations and hints at method candidates for caching optimizations. The behavioral evolution blueprint compares profiles of different versions of a software system and highlights performance-critical changes in the system. These three Blueprints helped us to significantly optimize Mondrian, an open source visualization engine. Our implementation is freely available for the Pharo development environment and has been evaluated in a number of different scenarios. Copyright © 2011 John Wiley & Sons, Ltd.

  • visualizing dynamic metrics with profiling Blueprints
    Lecture Notes in Computer Science, 2010
    Co-Authors: Alexandre Bergel, Romain Robbes, Walter Binder

    Abstract:

    While traditional approaches to code profiling help locate performance bottlenecks, they offer only limited support for removing these bottlenecks. The main reason is the lack of visual and detailed runtime information to identify and eliminate computation redundancy. We provide two profiling Blueprints which help identify and remove performance bottlenecks. The structural distribution blueprint graphically represents the CPU consumption share for each method and class of an application. The behavioral distribution blueprint depicts the distribution of CPU consumption along method invocations, and hints at method candidates for caching optimizations. These two Blueprints helped us to significantly optimize Mondrian, an open source visualization engine. Our implementation is freely available for the Pharo development environment and has been evaluated in a number of different scenarios.