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
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;
Conference_Titel :
Software Engineering (SBES), 2013 27th Brazilian Symposium on
Conference_Location :
Brasilia
Print_ISBN :
978-0-7695-5165-4
DOI :
10.1109/SBES.2013.7