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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
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
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
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)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Pearson Education India (2009)
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)
Honsel, V., Honsel, D., Grabowski, J.: Software process simulation based on mining software repositories. In: ICDM Workshop (2014)
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)
Kreowski, H.-J., Klempien-Hinrichs, R., Kuske, S.: Some essentials of graph transformation. Recent Adv. Formal Lang. Appl. 25, 229–254 (2006)
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)
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)
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
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)
Smith, N., Fernández Ramil, J.: Agent-based simulation of open source evolution. In: Software Process Improvement and Practice (2006)
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)
Weiss, G.: Multiagent Systems. MIT Press (2013). ISBN 9780262018890
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
Corresponding author
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.
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
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)