7 research outputs found

    Collapsible Tabular Visualization of Aspects in Object Oriented Programming

    Get PDF
    Due to its implicit invocation nature ofAspect Oriented Programming (AOP), locating a jointpoint for executing aspect is extremely difficult. Hence,it becomes difficult to understand the application’sflow and behavior. Current AOP visualization tools havelimitations such as high dependency on other tools,confusing and excessive use of color to represent aspectsand using an outdated version of AspectJ. In thispaper, we propose a new approach collapsibletabular visualization tool to visualize and represent AOPfeatures to aid the programmers in betterunderstanding AOP applications. We have come outof traditional color-based aspect visualization and developeda web based tool: AspectViz that visualizes the aspects ina simple collapsible table. A questionnaire containingfour different questions related to aspects visualizationwas developed to compare AspectViz with currentvisualization tools. 20 graduate students andprofessional software developers were invited to participatein the test experiment as well as the survey. We havecompared its performance with existing AOPvisualization tools i.e. the AJDT and the AspectMaps andshowed how it outperformed in many cases, which is nocolor confusion, simple tabular visualization of aspects, nodependency on third-party software, easy to understand andthe time it took to find a particular aspect was less etc.Collapsible tabular visualization enhanced the usability andperformance of aspect locating in aspect-orientedprogramming

    Visually Characterizing Source Code Changes

    Get PDF
    International audienceRevision Control Systems (e.g., SVN, Git, Mercurial) include automatic and advanced merging algorithms that help developers to merge their modifications with development repositories. While these systems can help to textually detect conflicts, they do not help to identify the semantic consequences of a change. Unfortunately, there is little support to help release masters (integrators) to take decisions about the integration of changes into the system release. Most of the time, the release master needs to read all the modified code, check the diffs to build an idea of a change, and dig for details from related unchanged code to understand the context and potential impact of some changes. As a result, such a task can be overwhelming. In this article we present a visualization tool to support integrators of object-oriented programs in comprehending changes. Our approach named Torch characterizes changes based on structural informa- tion, authors and symbolic information. It mixes text-based diff information with visual representation and metrics characterizing the changes. The current implementation of our approach analyses Smalltalk programs, and thus we de- scribe our experiments applying it to Pharo, a large open-source system. We also report on the evaluations of our approach by release masters and developers of several open-source projects

    AspectMaps: Extending Moose to visualize AOP software

    Get PDF
    International audienceWhen using aspect-oriented programming the application implicitly invokes the functionality contained in the aspects. Consequently program comprehension of such a software is more intricate. To alleviate this difficulty we developed the AspectMaps visualization and tool. AspectMaps extends the Moose program comprehension and reverse engineering platform with support for aspects, and is implemented using facilities provided by Moose. In this paper we present the AspectMaps tool, and show how it can be used by performing an exploration of a fairly large aspect-oriented application. We then show how we extended the FAMIX meta-model family that underpins Moose to also provide support for aspects. This extension is called ASPIX, and thanks to this enhancement Moose can now also treat aspect-oriented software. Finally, we report on our experiences using some of the tools in Moose; Mondrian to implement the visualization, and Glamour to build the user interface. We discuss how we were able to implement a sizable visualization tool using them and how we were able to deal with some of their limitations. Note: This paper uses colors extensively. Please use a color version to better understand the ideas presented here

    Metrics for Aspect Mining Visualization

    Get PDF
    Aspect oriented programming has over the last decade become the subject of intense research within the domain of software engineering. Aspect mining, which is concerned with identification of cross cutting concerns in legacy software, is an important part of this domain. Aspect refactoring takes the identified cross cutting concerns and converts these into new software constructs called aspects. Software that have been transformed using this process becomes more modularized and easier to comprehend and maintain. The first attempts at mining for aspects were dominated by manual searching and parsing through source code using simple tools. More sophisticated techniques have since emerged including evaluation of execution traces, code clone detection, program slicing, dynamic analysis, and use of various clustering techniques. The focus of most studies has been to maximize aspect mining performance measured by various metrics including those of aspect mining precision and recall. Other metrics have been developed and used to compare the various aspect mining techniques with each other. Aspect mining automation and presentation of aspect mining results has received less attention. Automation of aspect mining and presentation of results conducive to aspect refactoring is important if this research is going to be helpful to software developers. This research showed that aspect mining can be automated. A tool was developed which performed automated aspect mining and visualization of identified cross cutting concerns. This research took a different approach to aspect mining than most aspect mining research by recognizing that many different categories of cross cutting concerns exist and by taking this into account in the mining process. Many different aspect mining techniques have been developed over time, some of which are complementary. This study was different than most aspect mining research in that multiple complementary aspect mining algorithms was used in the aspect mining and visualization process

    Presenting crosscutting structure with active models

    No full text
    When performing development tasks, such as modifications and debugging, developers must often understand and manipulate source code that crosscuts a software system's structure. These tasks are made more difficult by limitations of the two approaches currently used to present crosscutting structure: tree views and structure diagrams. Tree views force the developer to manually synthesize information from multiple views; structure diagrams quickly suffer from graphical complexity. We introduce an active model as a means of presenting the right information about the crosscutting structure to a developer at the right time. An active model is produced as a result of three operations—projection, expansion, and abstraction. Combined with particular user interaction features during display,' these operations enable a view of the model to be presented to the developer without suffering from the complexity of existing approaches. We have implemented an active model tool, called ActiveAspect, for presenting crosscutting structure described by AspectJ aspects. We report on the results of a case study in which the tool was used effectively by two subjects to implement a modification task to a non-trivial AspectJ system.Science, Faculty ofComputer Science, Department ofGraduat

    Presenting Crosscutting Structure with Active Models

    No full text
    Abstract ii When performing development tasks, such as modifications and debugging, developers must often understand and manipulate source code that crosscuts a software system’s structure. These tasks are made more difficult by limitations of the two approaches currently used to present crosscutting structure: tree views and structure diagrams. Tree views force the developer to manually synthesize information from multiple views; structure diagrams quickly suffer from graphical complexity. We introduce an active model as a means of presenting the right information about the crosscutting structure to a developer at the right time. An active model is produced as a result of three operations—projection, expansion, and abstraction. Combined with particular user interaction features during display, these operations enable a view of the model to be presented to the developer without suffering from the complexity of existing approaches. We have implemented an active model tool, called ActiveAspect, for presenting crosscutting structure described by AspectJ aspects. We report on the results of a case study in which the tool was used effectively by two subjects to implement a modification task to a non-trivial AspectJ system
    corecore