Enhancing Software Visualization with Information Retrieval

I have enhanced Metric Attitude. It is a visualization tool based on static analysis that provides a mental picture by viewing an object-oriented software system by means of polymetric views. In particular, we have integrated an Information Retrieval engine and named this new version of visualization tool as Metric Attitude++. It allows the user to formulate a textual query and to show on the visual representation of the subject software the elements that are more similar to that query. This could be useful in all those cases in which a user needs to identify (or to localize) features implemented in the source code. Several filters are also available to hide possibly irrelevant details and to ease the browsing and then the comprehension of a software system. Finally, we have applied Metric Attitude++ on a number of object-oriented software systems. In this paper, we report preliminary results of a quantitative study on a widely studied open-source software, namely JEdit. On the basis of our results it seems that Metric Attitude++ can be effectively applied to different kinds of source code comprehension tasks and to concept location in source code, in particular.

[1]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[2]  Gerardo Canfora,et al.  New Frontiers of Reverse Engineering , 2007, Future of Software Engineering (FOSE '07).

[3]  Rainer Koschke,et al.  Journal of Software Maintenance and Evolution: Research and Practice Software Visualization in Software Maintenance, Reverse Engineering, and Re-engineering: a Research Survey , 2022 .

[4]  Lucian Voinea,et al.  Visual exploration of program structure, dependencies and metrics with SolidSX , 2011, 2011 6th International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT).

[5]  Romain Robbes,et al.  Software systems as cities: a controlled experiment , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[6]  Giuliano Antoniol,et al.  Design‐code traceability for object‐oriented systems , 2000, Ann. Softw. Eng..

[7]  Blaine A. Price,et al.  A Principled Taxonomy of Software Visualization , 1993, J. Vis. Lang. Comput..

[8]  Harald C. Gall,et al.  Towards an Integrated View on Architecture and its Evolution , 2005, Electron. Notes Theor. Comput. Sci..

[9]  Laurie J. Hendren,et al.  Practical virtual method call resolution for Java , 2000, OOPSLA '00.

[10]  Giuseppe Scanniello,et al.  Viewing Object-Oriented Software with MetricAttitude: An Empirical Evaluation , 2014, 2014 18th International Conference on Information Visualisation.

[11]  Malcolm Munro,et al.  Virtual but visible software , 2000, 2000 IEEE Conference on Information Visualization. An International Conference on Computer Visualization and Graphics.

[12]  Bogdan Dit,et al.  Feature location in source code: a taxonomy and survey , 2013, J. Softw. Evol. Process..

[13]  Ramanath Subramanyam,et al.  Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects , 2003, IEEE Trans. Software Eng..

[14]  Shinji Kusumoto,et al.  Ranking significance of software components based on use relations , 2003, IEEE Transactions on Software Engineering.

[15]  John C. Grundy,et al.  A 3D metaphor for software production visualization , 2003, Proceedings on Seventh International Conference on Information Visualization, 2003. IV 2003..

[16]  Giuseppe Scanniello,et al.  Clustering Support for Static Concept Location in Source Code , 2011, 2011 IEEE 19th International Conference on Program Comprehension.

[17]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[18]  Václav Rajlich,et al.  Incremental change in object-oriented programming , 2004, IEEE Software.

[19]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996, IEEE Trans. Software Eng..

[20]  Michele Lanza CodeCrawler - polymetric views in action , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[21]  Gruia-Catalin Roman,et al.  Program visualization: the art of mapping programs to pictures , 1992, International Conference on Software Engineering.

[22]  Giuseppe Scanniello,et al.  MetricAttitude: a visualization tool for the reverse engineering of object oriented software , 2012, AVI.

[23]  Stéphane Ducasse,et al.  Polymetric Views - A Lightweight Visual Approach to Reverse Engineering , 2003, IEEE Trans. Software Eng..