Advertisement

Mining Developers’ Workflows from IDE Usage

  • Constantina Ioannou
  • Andrea Burattin
  • Barbara Weber
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 316)

Abstract

An increased understanding of how developers’ approach the development of software and what individual challenges they face, has a substantial potential to better support the process of programming. In this paper, we adapt Rabbit Eclipse, an existing Eclipse plugin, to generate event logs from IDE usage enabling process mining of developers’ workflows. Moreover, we describe the results of an exploratory study in which the event logs of 6 developers using Eclipse together with Rabbit Eclipse were analyzed using process mining. Our results demonstrate the potential of process mining to better understand how developers’ approach a given programming task.

Keywords

Process mining Tracking IDE interactions Developers’ workflows Source code 

Supplementary material

References

  1. 1.
    Damevski, K., Shepherd, D.C., Schneider, J., Pollock, L.: Mining sequences of developer interactions in visual studio for usage smells. IEEE Trans. Softw. Eng. 43(4), 359–371 (2017)CrossRefGoogle Scholar
  2. 2.
    van der Aalst, W.: Big software on the run: In vivo software analytics based on process mining (keynote). In: Proceedings of ICSSP 2015, pp. 1–5. ACM (2015)Google Scholar
  3. 3.
    Brooks, R.: Towards a theory of the cognitive processes in computer programming. Int. J. Man Mach. Stud. 9(6), 737–751 (1977)CrossRefGoogle Scholar
  4. 4.
    DeMarco, T., Lister, T.: Peopleware: Productive Projects and Teams. Dorset House Publishing Co., New York (1987)Google Scholar
  5. 5.
    Konstantas, D., Léonard, M., Pigneur, Y., Patel, S. (eds.): Object-Oriented Information Systems. LNCS, vol. 2817. Springer, Heidelberg (2003).  https://doi.org/10.1007/978-3-540-45242-3CrossRefzbMATHGoogle Scholar
  6. 6.
    Guindon, R., Krasner, H., Curtis, B .: Cognitive process in software design: activities in early, upstream design. In: Human-Computer Interaction, INTERACT 1987, pp. 383–388. Elsevier Science Publishers B.V. (North Holland) (1987)CrossRefGoogle Scholar
  7. 7.
    Guindon, R., Curtis, B.: Control of cognitive processes during software design: what tools are needed? In: Proceedings of CHI 1988, pp. 263–268 (1988)Google Scholar
  8. 8.
    IEEE Task Force on Process Mining: Process mining manifesto. In: Business Process Management Workshops, pp. 169–194 (2011)Google Scholar
  9. 9.
    Kant, E., Newell, A.: Problem solving techniques for the design of algorithms. Inf. Process. Manag. 20(1–2), 97–118 (1984)CrossRefGoogle Scholar
  10. 10.
    Kindler, E., Rubin, V., Schäfer, W.: Incremental workflow mining based on document versioning information. In: Li, M., Boehm, B., Osterweil, L.J. (eds.) SPW 2005. LNCS, vol. 3840, pp. 287–301. Springer, Heidelberg (2006).  https://doi.org/10.1007/11608035_25CrossRefGoogle Scholar
  11. 11.
    Leemans, M., van der Aalst, W.M.P.: Process mining in software systems: discovering real-life business transactions and process models from distributed systems. In: Proceedings of MODELS, pp. 44–53, September 2015Google Scholar
  12. 12.
    Leemans, M., van der Aalst, W.M.P., van den Brand, M.G.J.: Recursion aware modeling and discovery for hierarchical software event log analysis (extended). CoRR, abs/1710.09323 (2017)Google Scholar
  13. 13.
    Leemans, S.J.J., Fahland, D., van der Aalst, W.M.P.: Discovering block-structured process models from event logs - a constructive approach. In: Colom, J.-M., Desel, J. (eds.) PETRI NETS 2013. LNCS, vol. 7927, pp. 311–329. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-38697-8_17CrossRefGoogle Scholar
  14. 14.
    Liu, C., van Dongen, B.F., Assy, N., Aalst, W.M.P.: Software architectural model discovery from execution data. In: 13th International Conference on Evaluation of Novel Approaches to Software Engineering, March 2018Google Scholar
  15. 15.
    Liu, C., van Dongen, B., Assy, N., van der Aalst, W.M.P.: Component behavior discovery from software execution data. In: 2016 IEEE Symposium Series on Computational Intelligence (SSCI), pp. 1–8, December 2016Google Scholar
  16. 16.
    Minelli, R., Lanza, M.: Visualizing the workflow of developers. In: Proceedings of VISSOFT, pp. 2–5 (2013)Google Scholar
  17. 17.
    Murphy, G.C., Kersten, M., Findlater, L.: How are Java software developers using the Elipse IDE? IEEE Softw. 23(4), 76–83 (2006)CrossRefGoogle Scholar
  18. 18.
    Pennington, N., Lee, A.Y., Rehder, B.: Cognitive activities and levels of abstraction in procedural and object-oriented design. Hum. Comput. Interact. 10, 171–226 (1995)CrossRefGoogle Scholar
  19. 19.
    Robbes, R., Lanza, M.: SpyWare: a change-aware development toolset. In: Proceedings of ICSE, pp. 847–850 (2008)Google Scholar
  20. 20.
    Rubin, V., Günther, C.W., van der Aalst, W.M.P., Kindler, E., van Dongen, B.F., Schäfer, W.: Process mining framework for software processes. In: Wang, Q., Pfahl, D., Raffo, D.M. (eds.) ICSP 2007. LNCS, vol. 4470, pp. 169–181. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-72426-1_15CrossRefGoogle Scholar
  21. 21.
    Tegarden, D.P., Sheetz, S.D.: Cognitive activities in OO development. Int. J. Hum. Comput. Stud. 54(6), 779–798 (2001)CrossRefGoogle Scholar
  22. 22.
    van der Aalst, W.M.P.: Process Mining: Data Science in Action. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-662-49851-4CrossRefGoogle Scholar
  23. 23.
    Yoon, Y.S., Myers, B.A.: Capturing and analyzing low-level events from the code editor. In: Proceedings of the 3rd ACM SIGPLAN Workshop on Evaluation and Usability of Programming Languages and Tools - PLATEAU 2011, p. 25 (2011)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Constantina Ioannou
    • 1
  • Andrea Burattin
    • 1
  • Barbara Weber
    • 1
  1. 1.Technical University of DenmarkKongens LyngbyDenmark

Personalised recommendations