SDL 2017: SDL 2017: Model-Driven Engineering for Future Internet pp 1-17 | Cite as
Interactive Visualization of Software
Abstract
To understand more and more complex software systems and the rules that govern their development, software visualization uses more and more complex, but static visual representations (charts) to allow computer scientists to analyze complex multi-modal, multi-variant, and potentially temporal data gathered from software artifacts. Data scientist however, use interactive visual analysis to not only visualize data but to explore and understand data via interactive visualizations.
In this paper, we present a language that allows us to quickly create such interactive visualizations for software. We present a process to measure software and gather data, a common data meta-model, four principal ways to combine individual charts into an interactive visualization, the language constructs needed to specify interactive visualizations, and a working implementation and examples for this language.
References
- 1.Vega: A visualization grammar, November 2016. https://vega.github.io/vega/
- 2.Ball, T., Eick, S.G.: Softw. Vis. Large. East 29(4), 33–43 (1996)Google Scholar
- 3.Berthold, M.R., et al.: KNIME: the Konstanz information miner. In: Preisach, C., Burkhardt, H., Schmidt-Thieme, L., Decker, R. (eds.) Data Analysis, Machine Learning and Applications. Studies in Classification, Data Analysis, and Knowledge Organization, pp. 319–326. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-78246-9_38 CrossRefGoogle Scholar
- 4.Bostock, M., Ogievetsky, V., Heer, J.: D3 data-driven documents. IEEE Trans. Visual Comput. Graphics 17(12), 2301–2309 (2011). http://dx.doi.org/10.1109/TVCG.2011.185 CrossRefGoogle Scholar
- 5.Bruneliere, H., Cabot, J., Jouault, F., Madiot, F.: Modisco: a generic and extensible framework for model driven reverse engineering. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, pp. 173–174. ASE 2010, NY (2010). http://doi.acm.org/10.1145/1858996.1859032
- 6.Dal Sasso, T., Minelli, R., Mocci, A., Lanza, M.: Blended, not stirred: multi-concern visualization of large software systems. In: 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT), pp. 106–115. IEEE (2015)Google Scholar
- 7.Fittkau, F., Krause, A., Hasselbring, W.: Exploring software cities in virtual reality. In: 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT), pp. 130–134. IEEE (2015)Google Scholar
- 8.Gall, H., Jazayeri, M., Riva, C.: Visualizing software release histories: the use of color and third dimension. In: Proceedings IEEE International Conference on Software Maintenance 1999 (ICSM 1999). ‘Software Maintenance for Business Change’ (Cat. No. 99CB36360) (1999)Google Scholar
- 9.Gannod, G.C., Cheng, B.H.: A framework for classifying and comparing software reverse engineering and design recovery techniques. In: 1999 Proceedings of the Sixth Working Conference on Reverse Engineering, pp. 77–88. IEEE (1999)Google Scholar
- 10.Garmendia, A., Jim, A., Lara, J.D.: Scalable model exploration through abstraction and fragmentation strategies. In: BigMDE 2015 Workshop at STAF 2015 (2015)Google Scholar
- 11.Gračanin, D., Matković, K., Eltoweissy, M.: Software visualization. Innovations Syst. Softw. Eng. 1(2), 221–230 (2005)CrossRefGoogle Scholar
- 12.Holten, D., Vliegen, R., Van Wijk, J.J.: Visual realism for the visualization of software metrics. In: Proceedings of VISSOFT 2005: 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis, pp. 27–32 (2005)Google Scholar
- 13.Kagdi, H., Collard, M.L., Maletic, J.I.: Towards a taxonomy of approaches for mining of source code repositories. In: ACM SIGSOFT Software Engineering Notes, vol. 30, pp. 1–5. ACM (2005)Google Scholar
- 14.Keim, D., Andrienko, G., Fekete, J.-D., Görg, C., Kohlhammer, J., Melançon, G.: Visual analytics: definition, process, and challenges. In: Kerren, A., Stasko, J.T., Fekete, J.-D., North, C. (eds.) Information Visualization. LNCS, vol. 4950, pp. 154–175. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-70956-5_7 CrossRefGoogle Scholar
- 15.Khan, T., Barthel, H., Ebert, A., Liggesmeyer, P.: Visual analytics of software structure and metrics. In: 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT), pp. 16–25, September 2015Google Scholar
- 16.Kuhn, A., Loretan, P., Nierstrasz, O.: Consistent layout for thematic software maps. In: Proceedings of Working Conference on Reverse Engineering, WCRE, pp. 209–218 (2008)Google Scholar
- 17.Lanza, M., Ducasse, S.: Polymetric views - a lightweight visual approach to reverse engineering. IEEE Trans. Software Eng. 29(9), 782–795 (2003)CrossRefGoogle Scholar
- 18.Lex, A., Streit, M., Schulz, H.J., Partl, C., Schmalstieg, D.: StratomeX: visual analysis of large-scale heterogeneous genomics data for cancer subtype characterization. Comput. Graph. Forum 31(3pt3), 1175–1184 (2012). http://doi.wiley.com/10.1111/j.1467-8659.2012.03110.x CrossRefGoogle Scholar
- 19.Munzner, T.: Visualization Analysis and Design. CRC Press, Boca Raton (2014)Google Scholar
- 20.Oeltze, S., Doleisch, H., Hauser, H., Weber, G.: Interactive visual analysis of scientific data. Tutorial at the IEEE VisWeek, October 2012. http://www.vismd.de/lib/exe/fetch.php?media=teaching_tutorials: ieeevisweektutorial_2012_iva_proposal.pdf
- 21.Ostendorp, M.C., Jelschen, J., Winter, A.: Elviz: a query-based approach to model visualization. In: Modellierung, pp. 105–120 (2014)Google Scholar
- 22.Partl, C., Lex, A., Streit, M., Strobelt, H., Wassermann, A., Pfister, H., Schmalstieg, D.: ConTour: data-driven exploration of multi-relational datasets for drug discovery. IEEE Trans. Vis. Comput. Graph. 20(12), 1883–1892 (2014)CrossRefGoogle Scholar
- 23.Partl, C., Kalkofen, D., Lex, A., Kashofer, K., Streit, M., Schmalstieg, D.: EnRoute: dynamic path extraction from biological pathway maps for in-depth experimental data analysis. In: Proceedings of IEEE Symposium on Biological Data Visualization 2012, BioVis 2012, pp. 107–114 (2012)Google Scholar
- 24.Pérez-Castillo, R., De Guzman, I.G.R., Piattini, M.: Knowledge discovery metamodel-iso/iec 19506: a standard to modernize legacy systems. Comput. Stand. Interfaces 33(6), 519–532 (2011)CrossRefGoogle Scholar
- 25.Satyanarayan, A., Moritz, D., Wongsuphasawat, K., Heer, J.: Vega-lite: a grammar of interactive graphics. IEEE Trans. Vis. Comp. Graph.(Proc. InfoVis) 23(1), 341–350 (2017). http://idl.cs.washington.edu/papers/vega-lite CrossRefGoogle Scholar
- 26.Satyanarayan, A., Wongsuphasawat, K., Heer, J.: Declarative interaction design for data visualization. In: ACM User Interface Software & Technology (UIST) (2014). http://idl.cs.washington.edu/papers/reactive-vega
- 27.Scheidgen, M., Fischer, J.: Model-based mining of source code repositories. In: Amyot, D., Fonseca i Casas, P., Mussbacher, G. (eds.) SAM 2014. LNCS, vol. 8769, pp. 239–254. Springer, Cham (2014). doi: 10.1007/978-3-319-11743-0_17 Google Scholar
- 28.Scheidgen, M., Goldammer, N.: D3ng: D3 and angular2 based interactive visualizations of complex data (2017). http://github.com/markus1978/d3ng
- 29.Scheidgen, M., Schmidt, M., Fischer, J.: Creating and analyzing source code repository models - a model-based approach to mining software repositories. In: Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development MODELSWARD, vol. 1, pp. 329–336 (2017)Google Scholar
- 30.Streit, M., Schulz, H.J., Lex, A., Schmalstieg, D., Schumann, H.: Model-driven design for the visual analysis of heterogeneous data. IEEE trans. vis. comput. graph. 18(6), 998–1010 (2012). http://www.ncbi.nlm.nih.gov/pubmed/21690642 CrossRefGoogle Scholar
- 31.Sugimoto, A.: Vega: a visual modeling language for digital systems. IEEE Des. Test Comput. 3(3), 38–45 (1986)CrossRefGoogle Scholar
- 32.Würfel, H., Trapp, M., Limberger, D., Döllner, J.: Natural phenomena as metaphors for visualization of trend data in interactive software maps. In: CGVC, pp. 69–76 (2015)Google Scholar