VisUML: A Live UML Visualization to Help Developers in Their Programming Task
Developers produce a lot of code and most of them have to merge it to what already exists. The required time to perform this programming task is thus dependent on the access speed to information about existing code. Classic IDEs allow displaying textual representation of information through features like navigation, word searching or code completion. This kind of representation is not effective to represent links between code fragments. Current graphical code representation modules in IDE are suited to apprehend the system from a global point of view. However, the cognitive integration cost of those diagrams is disproportionate related to the elementary coding task.
Our approach considers graphical representation but only with code elements that are parts of the developer’s mental model during his programming task. The corresponding cognitive integration of our graphical representation is then less costly. We use UML for this representation because it is a widespread and well-known formalism. We want to show that dynamic diagrams, whose content is modified and adapted in real-time by monitoring developer’s actions can be of great benefit as their contents are perfectly suited to the developer current task. With our live diagrams, we provide to developers an efficient way to navigate through textual and graphical representation.
KeywordsHuman-Computer Interaction Model Driven Engineering Software engineering Unified modeling language Human-centered design
- 1.Girba, T., Chis, A.: Pervasive software visualizations (keynote). In: Proceedings of 2015 IEEE 3rd Working Conference on Software Visualization, VISSOFT 2015, pp. 1–5, September 2015Google Scholar
- 3.Davies, S.P.: Skill levels and strategic differences in plan comprehension and implementation in programming. In: Proceedings of the Fifth Conference of the British Computer Society, Human-Computer Interaction Specialist Group on People and Computers V, pp. 487–502. Cambridge University Press, New York (1989)Google Scholar
- 5.Olson, G.M., Sheppard, S., Soloway, E. (eds.) Empirical Studies of Programmers: Second Workshop, p. 263. Ablex Publishing Corporation, Norwood (1987)Google Scholar
- 6.Davies, S.P.: Externalising information during coding activities: effects of expertise, environment and task. In: Empirical Studies of Programmers: Fifth Workshop, pp. 42–61 (1993)Google Scholar
- 8.Church, L., Marasoiu, M.: A fox not a hedgehog: what does PPIG know? In: 27th Annual Workshop on PPIG 2016, pp. 17–31 (2016)Google Scholar
- 11.Lethbridge, T.C., Ave, K.E.: Perceptions of software modeling: a survey of software practitioners table of contents. In: 5th Workshop From Code Centric to Model Centric: Evaluating the Effectiveness of MDD (C2M: EEMDD), pp. 1–102 (2008)Google Scholar
- 13.Gregorovic, L., Polasek, I.: Analysis and design of object-oriented software using multidimensional UML. In: Proceedings of the 15th International Conference on Knowledge Technologies and Data-Driven Business, pp. 47:1–47:4 (2015)Google Scholar
- 14.De Line, R., Czerwinski, M., Meyers, B., Venolia, G., Drucker, S., Robertson, G.: Code thumbnails: using spatial memory to navigate source code. In: Proceedings - IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2006, pp. 11–18 (2006)Google Scholar
- 16.Petre, M.: UML in practice. In: Proceedings - International Conference on Software Engineering, pp. 722–731 (2013)Google Scholar
- 17.Chaudron, M.R.V., Jolak, R.: A vision on a new generation of software design environments. In: HuFaMo@ MoDELS, pp. 11–16 (2015)Google Scholar
- 18.El Ahmar, Y., Gerard, S., Dumoulin, C., Le Pallec, X.: Enhancing the communication value of UML models with graphical layers. In: Proceedings of 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems, MODELS 2015, pp. 64–69, September 2015Google Scholar