Skip to main content
Book cover

Simulation Science

SimScience 2017: Simulation Science pp 161–175Cite as

Simulating Software Refactorings Based on Graph Transformations

  • Conference paper
  • First Online:
  • 404 Accesses

Part of the book series: Communications in Computer and Information Science ((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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    http://cmmiinstitute.com/.

  2. 2.

    https://refactoring.com.

  3. 3.

    https://www.sourcemeter.com/.

  4. 4.

    https://github.com/junit-team/junit4.

  5. 5.

    https://github.com/jankotek/mapdb.

  6. 6.

    https://github.com/bhuman/GameController.

References

  • 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_31

    Chapter  Google Scholar 

  • 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_28

    Chapter  Google Scholar 

  • 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 

  • Fowler, M.: Refactoring: Improving the Design of Existing Code. Pearson Education India (2009)

    Google Scholar 

  • 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 

  • Honsel, V., Honsel, D., Grabowski, J.: Software process simulation based on mining software repositories. In: ICDM Workshop (2014)

    Google Scholar 

  • 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 

  • Kreowski, H.-J., Klempien-Hinrichs, R., Kuske, S.: Some essentials of graph transformation. Recent Adv. Formal Lang. Appl. 25, 229–254 (2006)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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 

  • 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/BFb0031845

    Chapter  Google Scholar 

  • 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 

  • Smith, N., Fernández Ramil, J.: Agent-based simulation of open source evolution. In: Software Process Improvement and Practice (2006)

    Google Scholar 

  • 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

  • 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 

  • Weiss, G.: Multiagent Systems. MIT Press (2013). ISBN 9780262018890

    Google Scholar 

Download references

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/.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Honsel .

Editor information

Editors and Affiliations

A Mining Results

A Mining Results

We analyzed the following metrics: size measured in lines of code (LOC), coupling measured in number of outgoing invocations (NOI), and complexity measured in McCabes cyclomatic complexity (McCC for methods) or weighted methods per class (WMC for classes). The results are presented in the following table.

figure a

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Honsel, D. et al. (2018). Simulating Software Refactorings Based on Graph Transformations. In: Baum, M., Brenner, G., Grabowski, J., Hanschke, T., Hartmann, S., Schöbel, A. (eds) Simulation Science. SimScience 2017. Communications in Computer and Information Science, vol 889. Springer, Cham. https://doi.org/10.1007/978-3-319-96271-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-96271-9_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-96270-2

  • Online ISBN: 978-3-319-96271-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics