Advertisement

SimScience 2017: Simulation Science pp 161-175 | Cite as

Simulating Software Refactorings Based on Graph Transformations

  • Daniel Honsel
  • Niklas Fiekas
  • Verena Herbold
  • Marlon Welter
  • Tobias Ahlbrecht
  • Stephan Waack
  • Jürgen Dix
  • Jens Grabowski
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 889)

Abstract

We aim to simulate software processes in order to predict the structural evolution of software graphs and assure higher software quality. To make our simulation and therefore the results more accurate, we need to model real world practices. In this paper, we consider the specific problem of including software refactorings in our simulation. We describe these refactorings as graph transformations and apply parameters we collected from open source projects.

Notes

Acknowledgment

The authors thank the SWZ Clausthal-Göttingen that partially funded our work (both the former projects “Simulation-based Quality Assurance for Software Systems” and “DeSim”, and the recent project “Agent-based simulation models in support of monitoring the quality of software projects”). https://www.simzentrum.de/en/.

Supplementary material

References

  1. Ahlbrecht, T., Dix, J., Fiekas, N.: Scalable multi-agent simulation based on MapReduce. In: Criado Pacheco, N., Carrascosa, C., Osman, N., Julián Inglada, V. (eds.) EUMAS/AT -2016. LNCS (LNAI), vol. 10207, pp. 364–371. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-59294-7_31CrossRefGoogle Scholar
  2. Ahlbrecht, T., et al.: Agent-based simulation for software development processes. In: Criado Pacheco, N., Carrascosa, C., Osman, N., Julián Inglada, V. (eds.) EUMAS/AT -2016. LNCS (LNAI), vol. 10207, pp. 333–340. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-59294-7_28CrossRefGoogle Scholar
  3. Ehrig, H., Rozenberg, G., Kreowski, H.J.: Handbook of Graph Grammars and Computing by Graph Transformation, vol. 2. Applications, Languages and Tools. world Scientific (1999)Google Scholar
  4. Fowler, M.: Refactoring: Improving the Design of Existing Code. Pearson Education India (2009)Google Scholar
  5. Honsel, D., Honsel, V., Welter, M., Waack, S., Grabowski, J.: Monitoring software quality by means of simulation methods. In: 10th International Symposium on Empirical Software Engineering and Measurement (ESEM) (2016)Google Scholar
  6. Honsel, V., Honsel, D., Grabowski, J.: Software process simulation based on mining software repositories. In: ICDM Workshop (2014)Google Scholar
  7. Honsel, V., Honsel, D., Herbold, S., Grabowski, J., Waack, S.: Mining software dependency networks for agent-based simulation of software evolution. In: ASE Workshop (2015)Google Scholar
  8. Kreowski, H.-J., Klempien-Hinrichs, R., Kuske, S.: Some essentials of graph transformation. Recent Adv. Formal Lang. Appl. 25, 229–254 (2006)CrossRefGoogle Scholar
  9. Mens, T., Van Eetvelde, N., Demeyer, S., Janssens, D.: Formalizing refactorings with graph transformations. J. Software Maintenance Evol. Res. Pract. 17(4), 247–276 (2005)CrossRefGoogle Scholar
  10. Prete, K., Rachatasumrit, N., Sudan, N., Kim, M.: Template-based reconstruction of complex refactorings. In: 2010 IEEE International Conference on Software Maintenance (ICSM), pp. 1–10. IEEE (2010)Google Scholar
  11. Rao, A.S.: AgentSpeak(L): BDI agents speak out in a logical computable language. In: Van de Velde, W., Perram, J.W. (eds.) MAAMAW 1996. LNCS, vol. 1038, pp. 42–55. Springer, Heidelberg (1996).  https://doi.org/10.1007/BFb0031845CrossRefGoogle Scholar
  12. Silva, D., Valente, M.T.: RefDiff: detecting refactorings in version histories. In: Proceedings of the 14th International Conference on Mining Software Repositories, pp. 269–279. IEEE Press (2017)Google Scholar
  13. Smith, N., Fernández Ramil, J.: Agent-based simulation of open source evolution. In: Software Process Improvement and Practice (2006)Google Scholar
  14. Spasic, B., Onggo, B.S.S.: Agent-based simulation of the software development process: a case study at AVL. In: Rose, O., Uhrmacher, A.M. (eds.) Winter Simulation Conference, WSC, pp. 400:1–400:11 (2012). http://dblp.uni-trier.de/db/conf/wsc/wsc2012.html#SpasicO12
  15. Trautsch, F., Herbold, S., Makedonski, P., Grabowski, J.: Adressing problems with external validity of repository mining studies through a smart data platform. In: 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR), pp. 97–108. IEEE (2016)Google Scholar
  16. Weiss, G.: Multiagent Systems. MIT Press (2013). ISBN 9780262018890Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Daniel Honsel
    • 1
  • Niklas Fiekas
    • 2
  • Verena Herbold
    • 1
  • Marlon Welter
    • 1
  • Tobias Ahlbrecht
    • 2
  • Stephan Waack
    • 1
  • Jürgen Dix
    • 2
  • Jens Grabowski
    • 1
  1. 1.Institute of Computer ScienceGeorg-August-Universität GöttingenGöttingenGermany
  2. 2.Department of InformaticsClausthal University of TechnologyClausthal-ZellerfeldGermany

Personalised recommendations