The Community for Technology Leaders
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.
INDEX TERMS
Testing, Visualization, Analytical models, Java, Object oriented modeling, Context, Inspection
CITATION

O. A. Lemos, F. C. Zanichelli, R. Rigatto, F. Ferrari and S. Ghosh, "Visualization, Analysis, and Testing of Java and AspectJ Programs with Multi-level System Graphs," 2013 27th Brazilian Symposium on Software Engineering(SBES), Brasilia, Brazil Brazil, 2013, pp. 49-58.
doi:10.1109/SBES.2013.7
94 ms
(Ver 3.3 (11022016))