• DocumentCode
    1895980
  • Title

    Visualization, Analysis, and Testing of Java and AspectJ Programs with Multi-level System Graphs

  • Author

    Lazzarini Lemos, Otavio Augusto ; Capodifoglio Zanichelli, Felipe ; Rigatto, Robson ; Ferrari, Federico ; Ghosh, Sudip

  • Author_Institution
    Sci. & Technol. Dept., Fed. Univ. of Sao Paulo at S. J. dos Campos, São José dos Campos, Brazil
  • fYear
    2013
  • fDate
    1-4 Oct. 2013
  • Firstpage
    49
  • Lastpage
    58
  • Abstract
    Several software development techniques involve the generation of graph-based representations of a program created via static analysis. Some tasks, such as integration testing, require the creation of models that represent several parts of the system, and not just a single component or unit (e.g., unit testing). Besides being a basis for testing and other analysis techniques, an interesting feature of these models is that they can be used for visual navigation and understanding of the software system. However, the generation of such models - henceforth called system graphs - is usually costly, because it involves the reverse engineering and analysis of the whole system, many times done upfront. A possible solution for such a problem is to generate the graph on demand, that is, to postpone detailed analyses to when the user really needs it. The main idea is to start from the package structure of the system, representing dependencies at a high level, and to make control flow and other detailed analysis interactively and on demand. In this paper we use this idea to define a model for the visualization, analysis, and structural testing of object oriented(OO) and aspect-oriented (AO) programs. The model is called Multi-Level System Graph (MLSG), and is implemented in a prototype tool based on Java and AspectJ named SysGraph4AJ(for Multi-Level System Graphs for AspectJ). To evaluate the applicability of SysGraph4AJ with respect to performance, we performed a study with three AspectJ programs, comparingSysGraph4AJ with a similar tool. Results indicate the feasibility of the approach, and its potential in helping developers better understand and test OO and AO Java programs. In particular, SysGraph4AJ performed around an order of magnitude faster than the other tool.
  • Keywords
    Java; aspect-oriented programming; data visualisation; object-oriented programming; program diagnostics; program testing; AO programs; AspectJ program analysis; AspectJ program testing; AspectJ program visualization; Java program analysis; Java program testing; Java program visualization; MLSG; OO programs; SysGraph4AJ; aspect-oriented programs; multilevel system graphs; object oriented programs; system package structure; Analytical models; Context; Inspection; Java; Object oriented modeling; Testing; Visualization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (SBES), 2013 27th Brazilian Symposium on
  • Conference_Location
    Brasilia
  • Print_ISBN
    978-0-7695-5165-4
  • Type

    conf

  • DOI
    10.1109/SBES.2013.7
  • Filename
    6800181