Tag Clouds for Object-Oriented Source Code Visualization

R. A. Al-Msie'deen

Abstract


Software visualization helps software engineers to understand and manage the size and complexity of the object-oriented source code. The tag cloud is a simple and popular visualization technique. The main idea of the tag cloud is to represent tags according to their frequency in an alphabetical order where the most important tags are highlighted via a suitable font size. This paper proposes an original approach to visualize software code using a tag cloud. The approach exploits all software identifier names to visualize software code as a tag cloud. Experiments were conducted on several case studies. To validate the approach, it is applied on NanoXML and ArgoUML. The results of this evaluation validate the relevance and the performance of the proposed approach as all tag names and their frequencies were correctly identified. The proposed tag cloud visualization technique is a helpful addition to the software visualization toolkit. The extracted tag cloud supports software engineers as they filter and browse data.


Keywords


software engineering; software visualization; object-oriented source code; tag clouds

Full Text:

PDF

References


R. Al-Msie’deen, “Visualizing object-oriented software for understanding and documentation”, International Journal of Computer Science and Information Security, Vol. 13, No. 5, pp. 18–27, 2015

O. Kaser, D. Lemire, “Tag-cloud drawing: algorithms for cloud visualization”, WWW2007, Banff, Canada ,May 8–12, 2007

M. A. Hearst, D. Rosner, “Tag Clouds: Data Analysis Tool or Social Signaller?”, 41st Hawaii International Conference on Systems Science, Waikoloa, USA, January 7-10, 2008

M. J. Wilson, M. L. Wilson, “Tag Clouds and Keyword Clouds: Evaluating Zero-Interaction Benefits”, International Conference on Human Factors in Computing Systems, Vancouver, Canada, May 7-12, 2011

W. Cui, Y. Wu, S. Liu, F. Wei, M. Zhou, H. Qu, “Context-preserving, dynamic word cloud visualization”, IEEE Computer Graphics and Applications, Vol. 30, No. 6, pp. 42–53, 2010

L. J. Garcia-Castro, M. Hepp, A. Garcia, “Tags4tags: Using Tagging to Consolidate Tags”, in: Lecture Notes in Computer Science, Vol. 5690, Springer, 2009

G. J. Greene, B. Fischer, “Interactive Tag Cloud Visualization of Software Version Control Repositories”, IEEE 3rd Working Conference on Software Visualization, Bremen, Germany, September 27-28, 2015

J. Emerson, N. Churcher, C. Deaker, “From Toy to Tool: Extending Tag Clouds for Software and Information Visualisation”, 22nd Australian Software Engineering Conference, Melbourne, Australia, June 4-7, 2013

C. Anslow, J. Noble, S. Marshall, E. D. Tempero, “Visualizing the Word Structure of Java Class Names”, in Companion to the 23rd Annual ACM Sigplan Conference on Object-Oriented Programming, Systems, Languages, and Applications, Nashville, USA, Octomber 13-19, 2008

R. Cottrell, B. Goyette, R. Holmes, R. J. Walker, J. Denzinger, “Compare and Contrast: Visual Exploration of Source Code Examples”, 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis, Edmonton, Canada, September 25-26, 2009

J. Emerson, N. Churcher, A. Cockburn, “Tag Clouds for Software and Information Visualisation”, 14th Annual ACM SIGCHI NZ Conference on Computer-Human Interaction, Christchurch, New Zealand, November 15-16, 2013

R. Al-Msie’deen, H. Blasi, “The impact of the object-oriented software evolution on software metrics: The iris approach”, Indian Journal of Science and Technology, Vol. 11, No. 8, pp. 1–8, 2018

R. Al-Msie’deen, “Automatic labeling of the object-oriented source code: The lotus approach”, Science International-Lahore, Vol. 30, No. 1, pp. 45–48, 2018

J. Martinez, T. Ziadi, T. F. Bissyande, J. Klein, Y. L. Traon, “Name Suggestions During Feature Identification: The Variclouds Approach”, 20th International Systems and Software Product Line Conference, Beijing, China, September 16-23, 2016

R. Al-Msie’deen, M. Huchard, A. Seriai, C. Urtado, S. Vauttier, “Automatic documentation of [mined] feature implementations from source code elements and use-case diagrams with the Revpline approach”, International Journal of Software Engineering and Knowledge Engineering, Vol. 24, No. 10, pp. 1413–1438, 2014

R. Al-Msie’deen, A. D. Seriai, M. Huchard, C. Urtado, S. Vauttier, “Documenting the mined feature implementations from the object-oriented source code of a collection of software product variants”, 26th International Conference on Software Engineering and Knowledge Engineering, Knowledge Systems, Vancouver, Canada, July 1-July 3, 2014

https://misto.ch/2011/09/19/tag-cloud-visualization-for-source-code/

www.wordle.net

G. A. Miller, “Wordnet: A lexical database for English”, Communications of the ACM, Vol. 38, No. 11, pp. 39–41, 1995

R. Al-Msie’deen, Reverse Engineering Feature Models from Software Variants to Build Software Product Lines: Revpline Approach, PhD Thesis, University Montpellier 2, 2014

B. Dit, L. Guerrouj, D. Poshyvanyk, G. Antoniol, “Can Better Identifier Splitting Techniques Help Feature Location?”, 19th International Conference on Program Comprehension, Kingston, Canada, June 22-24, 2011

https://wordnet.princeton.edu

J. Emerson, Tag Clouds in Software Visualisation, MSc Thesis, University of Canterbury, 2014

http://argouml-downloads.tigris.org/argouml-0.28.1

http://nanoxml.sourceforge.net/orig/index.html

https://sites.google.com/site/ralmsideen/tools

J. Martinez, N. Ordonez, X. Ternava, T. Ziadi, J. Aponte, E. Figueiredo, M. T. Valente, “Feature Location Benchmark with ArgoUML SPL”, 22nd International Systems and Software Product Line Conference, Gothenburg, Sweden, September 10-14, 2007

M. Halvey, M. T. Keane, “An Assessment of Tag Presentation Techniques”, 16th International Conference on World Wide Web, Alberta, Canada, May 8-12, 2007

T. F. Bissyande, F. Thung, S. Wang, D. Lo, L. Jiang, L. Reveillere, “Empirical Evaluation of Bug Linking”, 17th European Conference on Software Maintenance and Reengineering, Genova, Italy, March 5-8, 2013

R. Al-Msie’deen, A. D. Seriai, M. Huchard, C. Urtado, S. Vauttier, “Mining Features from the Object-Oriented Source Code of Software Variants by Combining Lexical and Structural Similarity”, 14th International Conference on Information Reuse & Integration, San Francisco, USA, August 14-16, 2013

S. Lohmann, J. Ziegler, L. Tetzlaff, “Comparison of Tag Cloud Layouts: Task-Related Performance and Visual Exploration”, in: Lecture Notes in Computer Science, Vol. 5726, Springer, 2009

R. Al-Msie’deen, A. Blasi, “Supporting software documentation with source code summarization”, International Journal of Advanced and Applied Sciences, Vol. 6, No. 1, pp. 59–67, 2019

P. W. McBurney, C. McMillan, “Automatic source code summarization of context for java methods”, IEEE Transactions on Software Engineering, Vol. 42, No. 2, pp. 103–119, 2016




eISSN: 1792-8036     pISSN: 2241-4487