Advertisement

VisUML: A Live UML Visualization to Help Developers in Their Programming Task

  • Mickaël DuruisseauEmail author
  • Jean-Claude Tarby
  • Xavier Le Pallec
  • Sébastien Gérard
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10904)

Abstract

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.

Keywords

Human-Computer Interaction Model Driven Engineering Software engineering Unified modeling language Human-centered design 

References

  1. 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
  2. 2.
    Brooks, R.: Towards a theory of the cognitive processes in computer programming. Int. J. Hum.-Comput. Stud. 51(2), 197–211 (1999)CrossRefGoogle Scholar
  3. 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
  4. 4.
    Détienne, F.: Expert programming knowledge: a schema-based approach. In: Hoc, J.-M., Green, T.R.G., Samurcay, R., Gilmore, D. (eds.) Psychology of Programming. People and Computer Series, pp. 205–222. Academic Press (1990)CrossRefGoogle Scholar
  5. 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. 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
  7. 7.
    Larkin, J., Simon, H.A.: Why a diagram is (sometimes) worth ten thousand words. Cogn. Sci. 11(1), 65–99 (1987)CrossRefGoogle Scholar
  8. 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
  9. 9.
    Green, T., Petre, M.: Usability analysis of visual programming environments: a ‘cognitive dimensions’ framework. J. Vis. Lang. Comput. 7(2), 131–174 (1996)CrossRefGoogle Scholar
  10. 10.
    Moody, D.L.: The “physics” of notations: toward a scientific basis for constructingvisual notations in software engineering. IEEE Trans. Softw. Eng. 35(6), 756–779 (2009)CrossRefGoogle Scholar
  11. 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
  12. 12.
    Dzidek, W.J., Arisholm, E., Briand, L.C.: A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans. Softw. Eng. 34(3), 407–432 (2008)CrossRefGoogle Scholar
  13. 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. 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
  15. 15.
    Chaudron, M.R., Heijstek, W., Nugroho, A.: How effective is UML modeling?: an empirical perspective on costs and benefits. Softw. Syst. Model. 11(4), 571–580 (2012)CrossRefGoogle Scholar
  16. 16.
    Petre, M.: UML in practice. In: Proceedings - International Conference on Software Engineering, pp. 722–731 (2013)Google Scholar
  17. 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. 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

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Mickaël Duruisseau
    • 1
    • 2
    Email author
  • Jean-Claude Tarby
    • 2
  • Xavier Le Pallec
    • 2
  • Sébastien Gérard
    • 1
  1. 1.CEA LISTGif sur YvetteFrance
  2. 2.Univ. Lille, UMR 9189 - CRIStALLilleFrance

Personalised recommendations