Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Proposing and assessing a software visualization approach based on polymetric views

Published: 01 June 2016 Publication History

Abstract

In this paper, we present an approach for the visualization of object-oriented software. This approach has been implemented in MetricAttitude, a visualization tool based on static analysis that provides a mental picture of a software implemented in Java by means of polymetric views. The approach graphically represents a suite of object-oriented design metrics (e.g., Weighted Methods per Class) and "traditional" code-size metrics (e.g., Lines Of Code). To assess the validity of our proposal, we have conducted two users' studies with students in Computer Science and professional software developers. The used empirical method is qualitative. To assess MetricAttitude and its underlying approach, we conducted questionnaire-based surveys. Results suggest that MetricAttitude is a viable means to deal with existing objects-oriented software and to comprehend their source code, in particular. HighlightsWe propose an approach for the visualization of object-oriented software.A software system is represented by polymetric views relied on statistical analysis.A software system overview in terms of size, complexity and structure is provided.Classes candidated for refactoring, important classes and hierarchies are highlighted.Two user studies with students and professional software developers are discussed.

References

[1]
G. Canfora, M. Di Penta, New frontiers of reverse engineering, in: Future of Soft. Eng., FOSE, IEEE Computer Society, 2007, pp. 326-341.
[2]
J. Stasko, J. Domingue, B. Price, M. Brown, Software visualization: programming as a multimedia experience.
[3]
S. Diehl (Ed.), Software Visualization, International Seminar Dagstuhl Castle, Revised Lectures, Vol. 2269 of Lecture Notes in Computer Science, Springer, 2002
[4]
S. Ducasse, M. Lanza, The class blueprint: visually supporting the understanding of classes, IEEE Trans. Softw. Eng., 31 (2005) 75-90.
[5]
R. Wettel, M. Lanza, Program comprehension through software habitability, in: Proceedings of the International Conference on Program Comprehension, IEEE Computer Society, 2007, pp. 231-240.
[6]
A. Marcus, L. Feng, M.J.I., Comprehension of software analysis data using 3d visualization, in: Proceedings of the International Conference on Program Comprehension, IEEE Computer Society, 2003, pp. 105-114.
[7]
U. Erra, G. Scanniello, Towards the visualization of software systems as 3D forests: the codetrees environment, in: Proceedings of the ACM Symposium on Applied Computing, ACM Press, 2012, pp. 981-988.
[8]
M. Lanza, S. Ducasse, Polymetric views - a lightweight visual approach to reverse engineering, IEEE Trans. Softw. Eng., 29 (2003) 782-795.
[9]
R.J. Walker, G.C. Murphy, B. Freeman-Benson, D. Wright, D. Swanson, J. Isaak, Visualizing dynamic software system information through high-level models, in: Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM Press, 1998, pp. 271-283.
[10]
M. Salah, S. Mancoridis, G. Antoniol, M. Di Penta, Scenario-driven dynamic analysis for comprehending large software systems, in: Proceedings of Conference on Software Maintenance and Reengineering, IEEE Computer Society, 2006, pp. 71-80.
[11]
OMG, Unified modeling language (UML) specification, version 2.0, Tech. rep., Object Management Group (July 2005).
[12]
R. Wettel, M. Lanza, R. Robbes, Software systems as cities: a controlled experiment, in: Proceedings of International Conference on Software Engineering, ACM, 2011, pp. 551-560.
[13]
R. Wettel, M. Lanza, Codecity: 3d visualization of large-scale software, in: Companion of International Conference on Software Engineering, ACM, 2008, pp. 921-922.
[14]
M. Risi, G. Scanniello, Metricattitude: a visualization tool for the reverse engineering of object oriented software, in: Proceedings of International Working Conference on Advanced Visual Interfaces, ACM Press, 2012, pp. 449-456.
[15]
M. Risi, G. Scanniello, G. Tortora, Metricattitude, in: Proceedings of European Conference on Software Maintenance and Reengineering, IEEE Computer Society, 2013, pp. 405-408.
[16]
R. Francese, M. Risi, G. Scanniello, G. Tortora, Viewing object-oriented software with metricattitude: An empirical evaluation, in: Proceedings of International Conference on Information Visualisation, IEEE Computer Society, 2014, pp. 59-64.
[17]
C. Knight, M. Munro, Virtual but visible software, in: Proceedings of International Conference on Information Visualization, 2000, pp. 198-205.
[18]
S.M. Charters, C. Knight, N. Thomas, M. Munro, Visualisation for informed decision making; from code to components, in: Proceedings of Internationa Conference on Software Engineering and Knowledge Engineering, ACM, 2002, pp. 765-772.
[19]
T. Panas, R. Berrigan, J. Grundy, A 3D metaphor for software production visualization, in: Proceedings of International Conference on Information Visualization, IEEE Computer Society, 2003, pp. 314-319.
[20]
B. Kot, B. Wuensche, J. Grundy, J. Hosking, Information visualisation utilising 3D computer game engines case study: a source code comprehension tool, in: Proceedings of New Zealand Chapter's International Conference on Computer-Human Interaction: Making CHI Natural, ACM, 2005, pp. 53-60.
[21]
A.R. Teyseyre, M.R. Campo, An overview of 3d software visualization, IEEE Trans. Vis. Comput. Graph., 15 (2009) 87-105.
[22]
M. Lanza, Codecrawler - polymetric views in action, in: Proceedings of International Conference on Automated Software Engineering, IEEE Computer Society, 2004, pp. 394-395.
[23]
P. Martin, G. Harald, F. Michael, Towards an integrated view on architecture and its evolution, Electron. Notes Theor. Comput. Sci., 127 (2005) 183-196.
[24]
B.A. Price, R.M. Baecker, I.S. Small, A principled taxonomy of software visualization, J. Visual Lang. Comput., 4 (1993) 211-266.
[25]
H. Graham, H.Y. Yang, R. Berrigan, A solar system metaphor for 3D visualisation of object oriented software metrics, in: Proceedings of Australasian Symposium on Information Visualisation, Australian Computer Society, Inc., 2004, pp. 53-59.
[26]
A. Martínez, J.D. Cosín, C.P. García, A landscape metaphor for visualization of software projects, in: Proceedings of International Symposium on Software Visualization, ACM, 2008, pp. 197-198.
[27]
A. Ghandar, A.S.M. Sajeev, X. Huang, Pattern puzzle: a metaphor for visualizing software complexity measures, in: Proceedings of Asia-Pacific Symposium on Information Visualisation, Australian Computer Society, Inc., 2006, pp. 221-224.
[28]
J. Weber, J. Penn, Creation and rendering of realistic trees, in: Proceedings of International Conference on Computer Graphics and Interactive Techniques, ACM, 1995, pp. 119-128.
[29]
U. Erra, G. Scanniello, N. Capece, Visualizing the evolution of software systems using the forest metaphor, in: Proceedings of International Conference on Information Visualization, IEEE Computer Society, 2012, pp. 87-92.
[30]
U. Erra, G. Scanniello, C.M., Software systems as archipelagos of atolls, in: Proceedings of International Conference on Information Visualization, 2015.
[31]
E. Kleiberg, H. Van de Wetering, J.J. Van Wijk, Botanical visualization of huge hierarchies, in: Proceedings of International Symposium on Information Visualization, IEEE Computer Society, Washington, DC, USA, 2001, pp. 87-94.
[32]
H. Gall, M. Jazayeri, Visualizing Software Release Histories: The use of Color and Third Dimension, IEEE Computer Society Press, 1999.
[33]
Q. Tu, M. Godfrey, An integrated approach for studying architectural evolution, in: Proceedings of International Workshop on Program Comprehension, IEEE Computer Society, 2002, pp. 127-136.
[34]
T. Girba, S. Ducasse, M. Lanza, Yesterday's weather: guiding early reverse engineering efforts by summarizing the evolution of changes, in: Proceedings of International Conference on Software Maintenance, IEEE Computer Society, 2004, pp. 40-49.
[35]
D. Reniers, L. Voinea, A. Telea, Visual exploration of program structure, dependencies and metrics with solidsx, in: Proceedings of IEEE Vissoft, IEEE, 2011, pp. 1-4.
[36]
J. Trumper, M. Beck, J. Dollner, A visual analysis approach to support perfective software maintenance, in: Proceedings of International Conference on Information Visualisation, IEEE Computer Society, 2012, pp. 308-315.
[37]
Understand, {http://scitools.com }.
[38]
M. Fowler, Refactoring: Improving the design of existing code, 1999.
[39]
T. DeMarco, Controlling Software Projects: Management, Measurement and Estimation, Yourdon, New York, NY, 1982.
[40]
L.H. Rosenberg, L.E. Hyatt, Software Quality Metrics for Object-Oriented Environments, 1997.
[41]
V.R. Basili, L.C. Briand, W.L. Melo, A validation of object-oriented design metrics as quality indicators, IEEE Trans. Softw. Eng., 22 (1996) 751-761.
[42]
T. Gyimothy, R. Ferenc, I. Siket, Empirical validation of object-oriented metrics on open source software for fault prediction, IEEE Trans. Softw. Eng., 31 (2005) 897-910.
[43]
P. Yu, T. Systä, H.A. Müller, Predicting fault-proneness using oo metrics: an industrial case study, in: Proceedings of the European Conference on Software Maintenance and Reengineering, IEEE Computer Society, 2002, pp. 99-107.
[44]
R. Subramanyam, M.S. Krishnan, Empirical analysis of ck metrics for object-oriented design complexity, IEEE Trans. Softw. Eng., 29 (2003) 297-310.
[45]
M. Lanza, R. Marinescu, Object-Oriented Metrics in Practice. Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-oriented Systems, Springer Verlag, 2010.
[46]
S.R. Chidamber, C.F. Kemerer, A metrics suite for object oriented design, IEEE Trans. Softw. Eng., 20 (1994) 476-493.
[47]
V. Sundaresan, L. Hendren, C. Razafimahefa, R. Vallée-Rai, P. Lam, E. Gagnon, C. Godin, Practical virtual method call resolution for java, SIGPLAN Not., 35 (2000) 264-280.
[48]
E. Gamma, R. Helm, R.Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object Oriented Software, 1995.
[49]
B. Dit, M. Revelle, M. Gethers, D. Poshyvanyk, Feature location in source code: a taxonomy and survey, J. Soft. Maint. Evol.: Res. Pract.
[50]
Java Development Tools, {http://www.eclipse.org/jdt/core}.
[51]
JGraphT, {http://www.jgrapht.org}.
[52]
Eclipse Rich Client Platform, {http://www.eclipse.org/rcp}.
[53]
N. Juristo, A. Moreno, Basics of Software Engineering Experimentation, Kluwer Academic Publishers, 2001.
[54]
B. Kitchenham, S. Pfleeger, L. Pickard, P. Jones, D. Hoaglin, K. El Emam, J. Rosenberg, Preliminary guidelines for empirical research in software engineering, IEEE Trans. Softw. Eng., 28 (2002) 721-734.
[55]
C. Wohlin, P. Runeson, M. Höst, M. Ohlsson, B. Regnell, A. Wesslén, Experimentation in Software Engineering - An Introduction, Kluwer, 2000.
[56]
V.R. Basili, H.D. Rombach, The TAME project, IEEE Trans. Softw. Eng., 14 (1988) 758-773.
[57]
A.N. Oppenheim, Questionnaire Design, Interviewing and Attitude Measurement, Continuum, 2000.
[58]
F. Ricca, M. Torchiano, M. Di Penta, M. Ceccato, P. Tonella, On the use of executable fit tables to support maintenance and evolution tasks, in: Proceedings of International ERCIM Symposium on Software Evolution, 2007, pp. 83-92.
[59]
F. Ricca, G. Scanniello, M. Torchiano, G. Reggio, E. Astesiano, Assessing the effect of screen mockups on the comprehension of functional requirements, ACM Trans. Softw. Eng. Methodol., 24 (2014) 1:1-1:38.
[60]
M. Islam, A. Marchetto, A. Susi, G. Scanniello, A multi-objective technique to prioritize test cases based on latent semantic indexing, in: Proceedings of European Conference on Software Maintenance and Reengineering, IEEE Computer Society, 2012, pp. 21-30.
[61]
JLine, {http://jline.sourceforge.net}.
[62]
J. Sillito, G.C. Murphy, K.De. Volder, Asking and answering questions during a programming change task, IEEE Trans. Softw. Eng., 34 (2008) 434-451.
[63]
F. Ricca, M. Di Penta, M. Torchiano, P. Tonella, M. Ceccato, How developers' experience and ability influence web application comprehension tasks supported by uml stereotypes, IEEE Trans. Softw. Eng., 36 (2010) 96-118.
[64]
J. Hannay, M. Jorgensen, The role of deliberate artificial design elements in software engineering experiment, IEEE Trans. Softw. Eng., 34 (2008) 242-259.
[65]
J. Carver, L. Jaccheri, S. Morasca, F. Shull, Issues in using students in empirical studies in software engineering education, in: Proceedings of International Symposium on Software Metrics, IEEE Computer Society, 2003, pp. 239-249.
[66]
M. Höst, B. Regnell, C. Wohlin, Using students as subjects, Empirical Softw. Eng., 5 (2000) 201-214.
[67]
J. Verelst, The influence of the level of abstraction on the evolvability of conceptual models of information systems, in: Proceedings of International Symposium on Empirical Software Engineering, IEEE Computer Society, Washington, DC, USA, 2004, pp. 17-26.
[68]
D.I.K. Sjøberg, J.E. Hannay, O. Hansen, V.B. Kampenes, A. Karahasanovic, N. Liborg, A.C. Rekdal, A survey of controlled experiments in software engineering, IEEE Trans. Softw. Eng., 31 (2005) 733-753.
[69]
M. Lanza, S. Ducasse, Polymetric views-a lightweight visual approach to reverse engineering, IEEE Trans. Softw. Eng., 29 (2003) 782-795.

Cited By

View all
  • (2023)CADVInformation and Software Technology10.1016/j.infsof.2022.107089154:COnline publication date: 1-Feb-2023
  • (2017)MetricAttitude++Proceedings of the 25th International Conference on Program Comprehension10.1109/ICPC.2017.15(368-371)Online publication date: 20-May-2017

Index Terms

  1. Proposing and assessing a software visualization approach based on polymetric views

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Journal of Visual Languages and Computing
    Journal of Visual Languages and Computing  Volume 34, Issue C
    June 2016
    25 pages

    Publisher

    Academic Press, Inc.

    United States

    Publication History

    Published: 01 June 2016

    Author Tags

    1. Empirical evaluation
    2. Polymetric-views
    3. Qualitative study
    4. Software visualization

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 22 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)CADVInformation and Software Technology10.1016/j.infsof.2022.107089154:COnline publication date: 1-Feb-2023
    • (2017)MetricAttitude++Proceedings of the 25th International Conference on Program Comprehension10.1109/ICPC.2017.15(368-371)Online publication date: 20-May-2017

    View Options

    View options

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media