Software Feathers figurative visualization of software metrics

In order to give the code entities of a software system a discernible and recognizable face, this paper presents Software Feathers, an approach for mapping characteristics of object-oriented code entities to features of artificially generated feathers. A parameterized drawing algorithm is described that generates pseudo-realistic feathers as 2D graphics. The parameters of the feathers are connected to characteristic software metrics measuring, among others, the size, complexity, and quality of interfaces and classes. Applying the approach demonstrates that categories of code entities can be discerned, problems in the code can be detected, and the evolution of code can be studied. A promising application is embedding the feathers into documentation and IDEs for improving navigation and unobtrusively educating software developers in software metrics.

[1]  Feza Buzluca,et al.  E-Quality: A graph based object oriented software quality visualization tool , 2011, 2011 6th International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT).

[2]  Zhendong Su,et al.  On the naturalness of software , 2012, ICSE 2012.

[3]  Marcelo Walter,et al.  Modeling the structure of feathers , 2001, Proceedings XIV Brazilian Symposium on Computer Graphics and Image Processing.

[4]  Brad A. Myers,et al.  An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks , 2006, IEEE Transactions on Software Engineering.

[5]  Heidrun Schumann,et al.  Icon-based visualization using mosaic metaphors , 2005, Ninth International Conference on Information Visualisation (IV'05).

[6]  Richard F. Riesenfeld,et al.  A Survey of Radial Methods for Information Visualization , 2009, IEEE Transactions on Visualization and Computer Graphics.

[7]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 2004, Empirical Software Engineering.

[8]  Wolfgang Heidrich,et al.  A Biologically‐Parameterized Feather Model , 2002, Comput. Graph. Forum.

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

[10]  Andrew P. Black,et al.  An interactive ambient visualization for code smells , 2010, SOFTVIS '10.

[11]  Fabian Beck,et al.  In situ understanding of performance bottlenecks through visually augmented code , 2013, 2013 21st International Conference on Program Comprehension (ICPC).

[12]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[13]  Malcolm Munro,et al.  Comprehension with[in] virtual environment visualisations , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[14]  Neville Churcher,et al.  In Situ Software Visualisation , 2010, 2010 21st Australian Software Engineering Conference.

[15]  Stephen G. Eick,et al.  Seesoft-A Tool For Visualizing Line Oriented Software Statistics , 1992, IEEE Trans. Software Eng..

[16]  Baining Guo,et al.  Modeling and rendering of realistic feathers , 2002, SIGGRAPH.

[17]  Pak Chung Wong,et al.  30 Years of Multidimensional Multivariate Visualization , 1994, Scientific Visualization.

[18]  Jeff Beddow,et al.  Shape coding of multidimensional data on a microcomputer display , 1990, Proceedings of the First IEEE Conference on Visualization: Visualization `90.

[19]  Mary Czerwinski,et al.  Code Thumbnails: Using Spatial Memory to Navigate Source Code , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[20]  Michele Lanza,et al.  The evolution matrix: recovering software evolution using software visualization techniques , 2001, IWPSE '01.

[21]  A. M. Lucas,et al.  Avian anatomy : integument , 1974 .

[22]  Min Chen,et al.  Glyph-based Visualization: Foundations, Design Guidelines, Techniques and Applications , 2013, Eurographics.

[23]  Esteban Walter Gonzalez Clua,et al.  Turning Real-World Software Development into a Game , 2011, 2011 Brazilian Symposium on Games and Digital Entertainment.

[24]  Michael Chau,et al.  Visualizing web search results using glyphs: Design and evaluation of a flower metaphor , 2011, TMIS.

[25]  Fabian Beck,et al.  The Order of Things: How developers sort fields and methods , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[26]  Georges G. Grinstein,et al.  Iconographic Displays For Visualizing Multidimensional Data , 1988, Proceedings of the 1988 IEEE International Conference on Systems, Man, and Cybernetics.

[27]  Philippe Dugerdil,et al.  EvoSpaces Visualization Tool: Exploring Software Architecture in 3D , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[28]  Harald C. Gall,et al.  Visualizing multiple evolution metrics , 2005, SoftVis '05.

[29]  Fabian Beck,et al.  Visual monitoring of numeric variables embedded in source code , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[30]  Claus Lewerentz,et al.  Understanding software evolution with software cities , 2013, Inf. Vis..

[31]  Herman Chernoff,et al.  The Use of Faces to Represent Points in k- Dimensional Space Graphically , 1973 .

[32]  Hong Yul Yang,et al.  A Solar System Metaphor for 3D Visualisation of Object Oriented Software Metrics , 2004, InVis.au.

[33]  Stéphane Ducasse,et al.  The class blueprint: visually supporting the understanding of glasses , 2005, IEEE Transactions on Software Engineering.

[34]  Leif Singer,et al.  It was a bit of a race: Gamification of version control , 2012, 2012 Second International Workshop on Games and Software Engineering: Realizing User Engagement with Game Engineering Techniques (GAS).

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

[36]  Stephen G. Eick,et al.  Information Rich Glyphs for Software Management Data , 1998, IEEE Computer Graphics and Applications.

[37]  Michele Lanza,et al.  Visual Exploration of Large-Scale System Evolution , 2008, 2008 15th Working Conference on Reverse Engineering.

[38]  Matthew O. Ward,et al.  Multivariate Data Glyphs: Principles and Practice , 2008 .

[39]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[40]  R. Bonney,et al.  Handbook of bird biology , 2004 .

[41]  Winnie Wing-Yi Chan A Survey on Multivariate Data Visualization , 2006 .