Uncovering the Hidden Co-evolution in the Work History of Software Projects

  • Saimir BalaEmail author
  • Kate Revoredo
  • João Carlos de A.R. Gonçalves
  • Fernanda Baião
  • Jan Mendling
  • Flavia Santoro
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10445)


The monitoring of project-oriented business processes is difficult because their state is fragmented and represented by the progress of different documents and artifacts being worked on. This observation holds in particular for software development projects in which various developers work on different parts of the software concurrently. Prior contributions in this area have proposed a plethora of techniques to analyze and visualize the current state of the software artifact as a product. It is surprising that these techniques are missing to provide insights into what types of work are conducted at different stages of the project and how they are dependent upon another. In this paper, we address this research gap and present a technique for mining the software process including dependencies between artifacts. Our evaluation of various open-source projects demonstrates the applicability of our technique.


Artifact co-evolution Work history dependencies Project-oriented business processes Software project mining 


  1. 1.
    Abate, P., Cosmo, R.D., Boender, J., Zacchiroli, S.: Strong dependencies between software components. In: 3rd International Symposium on Empirical Software Engineering and Measurement ESEM, pp. 89–99 (2009)Google Scholar
  2. 2.
    Bala, S., Cabanillas, C., Mendling, J., Rogge-Solti, A., Polleres, A.: Mining project-oriented business processes. In: Motahari-Nezhad, H.R., Recker, J., Weidlich, M. (eds.) BPM 2015. LNCS, vol. 9253, pp. 425–440. Springer, Cham (2015). doi: 10.1007/978-3-319-23063-4_28CrossRefGoogle Scholar
  3. 3.
    Bani-Salameh, H., Ahmad, A., Aljammal, A.: Software evolution visualization techniques and methods - a systematic review. In: 2016 7th International Conference on Computer Science and Information Technology (CSIT), pp. 1–6 (2016)Google Scholar
  4. 4.
    Beheshti, S.-M.-R., Benatallah, B., Motahari-Nezhad, H.R.: Enabling the analysis of cross-cutting aspects in ad-hoc processes. In: Salinesi, C., Norrie, M.C., Pastor, Ó. (eds.) CAiSE 2013. LNCS, vol. 7908, pp. 51–67. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38709-8_4CrossRefGoogle Scholar
  5. 5.
    Beheshti, S.-M.-R., Benatallah, B., Sakr, S., Grigori, D., Motahari-Nezhad, H.R., Barukh, M.C., Gater, A., Ryu, S.H.: Process Analytics - Concepts and Techniques for Querying and Analyzing Process Data. Springer, Cham (2016)Google Scholar
  6. 6.
    Bender, M.A., Farach-Colton, M.: The LCA problem revisited. In: Gonnet, G.H., Viola, A. (eds.) LATIN 2000. LNCS, vol. 1776, pp. 88–94. Springer, Heidelberg (2000). doi: 10.1007/10719839_9CrossRefGoogle Scholar
  7. 7.
    Canfora, G., Cerulo, L.: Supporting change request assignment in open source development. In: Proceedings 2006 ACM Symposium on Applied Computing - SAC 2006, p. 1767, April 2016Google Scholar
  8. 8.
    D’Ambros, M., Lanza, M., Lungu, M.: Visualizing co-change information with the evolution radar. IEEE Trans. Softw. Eng. 35(5), 720–735 (2009)CrossRefGoogle Scholar
  9. 9.
    Gonçalves, J., Santoro, F.M., Baião, F.A.: Let me tell you a story - on how to build process models. J. Univers. Comput. Sci. 17(2), 276–295 (2011)Google Scholar
  10. 10.
    Greene, G.J., Fischer, B.: Interactive tag cloud visualization of software version control repositories. In: 3rd Working Conference on Software Visualization, pp. 56–65 (2015)Google Scholar
  11. 11.
    Gubichev, A., Bedathur, S., Seufert, S., Weikum, G.: Fast and accurate estimation of shortest paths in large graphs. In: 19th ACM International Conference on Information and Knowledge Management, p. 499 (2010)Google Scholar
  12. 12.
    Kindler, E., Rubin, V., Schäfer, W.: Activity mining for discovering software process models. Softw. Eng. 79, 175–180 (2006)Google Scholar
  13. 13.
    Lindberg, A., Berente, N., Gaskin, J., Lyytinen, K.: Coordinating interdependencies in online communities: a study of an open source software project. Inf. Syst. Res. 27(4), 751–772 (2016)CrossRefGoogle Scholar
  14. 14.
    Mittal, M., Sureka, A.: Process mining software repositories from student projects in an undergraduate software engineering course. In: ISCE Companion, pp. 344–353 (2014)Google Scholar
  15. 15.
    Oliva, G.A., Santana, F.W., Gerosa, M.A., de Souza, C.R.: Towards a classification of logical dependencies origins. In: Proceedings 12th International Workshop 7th Annual ERCIM Workshop on Principles of Software Evolution - IWPSE-EVOL 2011, p. 31 (2011)Google Scholar
  16. 16.
    Peffers, K.E.N., Tuunanen, T., Rothenberger, M., Chatterjee, S.: A design science research methodology for information systems research. J. Manag. Inf. Syst. 24, 45–77 (2007)CrossRefGoogle Scholar
  17. 17.
    Poncin, W., Serebrenik, A., Brand, M.V.D.: Process mining software repositories. In: 2011 15th European Conference Software Maintenance Reengineering, pp. 5–14 (2011)Google Scholar
  18. 18.
    Ripley, R.M., Sarma, A., Van Der Hoek, A.: A visualization for software project awareness and evolution. Visualization 2007 - Proceedings 4th IEEE International Workshop on Visualizing Software for Understanding Analysis, pp. 137–144 (2007)Google Scholar
  19. 19.
    Robles, G., González-Barahona, J.M., Cervigón, C., Capiluppi, A., Izquierdo-Cortázar, D.: Estimating development effort in free/open source software projects by mining software repositories: a case study of openstack. In: 11th Working Conference on Mining Software Repositories, pp. 222–231 (2014)Google Scholar
  20. 20.
    Ruohonen, J., Hyrynsalmi, S., Leppänen, V.: Time series trends in software evolution. J. Soft. Evol. Process 27(12), 990–1015 (2015)CrossRefGoogle Scholar
  21. 21.
    Voinea, L., Telea, A.: CVSgrab: mining the history of large software projects. In: Eurographics/EuroVisualization, pp. 187–194 (2006)Google Scholar
  22. 22.
    Voinea, L., Telea, A.: Visual data mining and analysis of software repositories. Comput. Graph. 31, 410–428 (2007)CrossRefGoogle Scholar
  23. 23.
    Weicheng, Y., Beijun, S., Ben, X.: Mining GitHub: why commit stops - exploring the relationship between developer’s commit pattern and file version evolution. In: 20th Asia-Pacific Software Engineering Conference, pp. 165–169 (2013)Google Scholar
  24. 24.
    Zaidman, A., Van Rompaey, B., Demeyer, S., Van Deursen, A.: Mining software repositories to study co-evolution of production & test code. In: 1st International Conference on Software Testing, Verification and Validation, pp. 220–229 (2008)Google Scholar
  25. 25.
    Zimmermann, T., Nagappan, N.: Predicting defects using network analysis on dependency graphs. In: 13th International Conference on Software Engineering, p. 531 (2008)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Saimir Bala
    • 1
    Email author
  • Kate Revoredo
    • 2
  • João Carlos de A.R. Gonçalves
    • 2
  • Fernanda Baião
    • 2
  • Jan Mendling
    • 1
  • Flavia Santoro
    • 2
  1. 1.Vienna University of Economics and Business (WU)ViennaAustria
  2. 2.Federal University of the State of Rio de Janeiro (UNIRIO)Rio de JaneiroBrazil

Personalised recommendations