27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5 Final Remarks and Further Works<br />

Most software artifacts are abstract, having no physical<br />

representation. Focusing on source code, obtaining insights<br />

can be difficult, especially because of the amount of lines<br />

in software systems and its structure. Our motivation came<br />

from analyzing the associated AOP source code, since the<br />

new AOP features and consequences – fragmented, tangled<br />

and spread code – must be externalized by a visual mapping.<br />

There are some tools that provide visual representations.<br />

Some of them support Aspect-Oriented programs,<br />

some have the necessity of manually mapping concerns, and<br />

some provide no aspect identification. But most of them do<br />

not provide a more broad aid to entire program understanding.<br />

So, a coordinated visual mapping was proposed to<br />

present Aspect-Oriented programs’ features using three visual<br />

presentations and a content list which aim to externalize<br />

structural organization, the relations among classes<br />

and aspects, and the advised code. The proposed coordination<br />

schema makes it possible to highlight selected elements<br />

on different detail levels, allowing the user to gather information<br />

about aspect and its spreading to the source code<br />

–howaspects crosscut the program structures, composing<br />

program behavior.<br />

We also developed a tool (SoftV iz OAH ) to assess the<br />

visual coordination model proposed. And both Object Oriented<br />

and AOP source code has been used on assessing the<br />

coordinated visual mapping. Also, SoftV iz OAH is able<br />

to show test cases’ results along with the visual representations,<br />

that allows analyzing how the test cases go through<br />

source code and their coverage. Hitherto, our evaluation has<br />

shown that such feature is helpful in locating defects (where<br />

the defect is).<br />

Also according to preliminary evaluation, the tool’s<br />

functionalities are useful to support Aspect-Oriented program<br />

understanding. However, to assess the effectiveness<br />

and efficiency of the visual proposed mapping in a more realistic<br />

manner, a controlled experiment has been planned,<br />

and will be conducted using an experimentation process,<br />

aimed to locate defects previously inserted into AOP source<br />

codes.<br />

References<br />

[1] J. Baldwin, D. Myers, M. Storey, and Y. Coady. Assembly<br />

code visualization and analysis: An old dog can learn new<br />

tricks! PLATEAU ’09 Workshop at Onward!, 2009.<br />

[2] B. B. Bederson, B. Shneiderman, and M. Wattenberg. Ordered<br />

and quantum treemaps: Making effective use of 2d<br />

space to display hierarchies. ACM Transactions on Graphics<br />

(TOG), 4(21):833–854, October 2002.<br />

[3] G. Carneiro, R. Magnavita, and M. Mendonça. Combining<br />

software visualization paradigms to support software comprehension<br />

activities. In 4th ACM symposium on Software<br />

visualization (SoftVis’08), pages 201–202, NY, USA, 2008.<br />

[4] G. Carneiro, C. Sant’Anna, A. Garcia, C. Chavez, and<br />

M. Mendonça. On the use of software visualization to support<br />

concern modularization analysis. ACoM 2009, Colocated<br />

with OOPSLA, 2009.<br />

[5] A. Clement, S. Colyer, and M. Kersten. Aspect-oriented programing<br />

with ajdt. AAOS 2003: Analysis of Aspect-Oriented<br />

Software workshop at ECOOP 2003, 2003.<br />

[6] C. L. Corritore and S. Wiedenbeck. An exploratory study of<br />

program comprehension strategies of procedural and objectoriented<br />

programmers. International Journal of Human-<br />

Computer Studies, (54), 2001.<br />

[7] A. F. D’Arce, R. E. Garcia, and R. C. M. Correia. Coordinated<br />

visualization of aspect oriented programs. I Workshop<br />

Brasileiro de Visualização de Software (WBVS 2011),<br />

II Congresso Brasileiro de Software: Teoria e Prática (CB-<br />

Soft 2011)., 2011.<br />

[8] T. Elrad, R. E. Filman, and A. Bader. Aspect-oriented programming<br />

– introduction. Communications of the ACM,<br />

10(44):29–32, 2001.<br />

[9] J. Fabry, A. Kellens, S. Denier, and S. Ducasse. Aspectmaps:<br />

A scalable visualization of join point shadows. International<br />

Conference on Program Comprehension (ICPC), 2011.<br />

[10] H. Gall and M. Lanza. Software analysis visualization. 28th<br />

International Conference on Software Engineering (ICSE<br />

Shangai 2006), 2006.<br />

[11] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design<br />

Patterns. Addison-Wesley, 2000.<br />

[12] B. Johnson and B. Shneiderman. Tree-maps: a space-filling<br />

approach to the visualization of hierarchical information<br />

structures. In <strong>Proceedings</strong> of the 2nd conference on Visualization<br />

’91, VIS ’91, pages 284–291, Los Alamitos, CA,<br />

USA, 1991. IEEE Computer Society Press.<br />

[13] A. Karahasanovic’, A. K. Levine, and R. Thomas. Comprehension<br />

strategies and diffculties in maintaining objectoriented<br />

systems: An explorative study. Journal of System<br />

and Software, 7(80):1541–1559, 2007.<br />

[14] G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm,<br />

and W. G. Griswold. An overview of aspectj. ECOOP<br />

2001 – Object Oriented Programming, 2072(2001):327–<br />

354, 2001.<br />

[15] M. Lanza. Codecrawler - polymetric views in action. In 19th<br />

International Conference on Automated Software Engineerings,<br />

pages 394–395, september 2004.<br />

[16] N. Lesiecki. Aop@work: Enhance design patterns with aspectj.<br />

IBM developerWorks, 2005. Accessed on Nov/2011.<br />

[17] T. Munzner. Exploring large graphs in 3d hyperbolic space.<br />

IEEE Computer Graphics and Applications, 18(4):18–23,<br />

July/August 1998.<br />

[18] J. Pfeifer and J. Gurd. Visualization-based tool support for<br />

the development of aspect-oriented programs. <strong>Proceedings</strong><br />

of 5th International Conference on Aspect-Oriented Software<br />

Development, 2006.<br />

[19] T. Würthinger, C. Wimmer, and H. Mössenböck. Visualization<br />

of program dependence graphs. Compiler Construction,<br />

17th International Conference, Springer, vol. 4959, Lecture<br />

Notes in Computer Science, pages 193–196, 2008.<br />

173

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!