Skip to main content
Top
Published in: Innovations in Systems and Software Engineering 1/2024

17-02-2023 | Original Article

Automatic pattern-based consistency checking in model refactoring: introducing a formal behavioral preserving method

Authors: Saeedeh Ghaedi Heidari, Shohreh Ajoudanian

Published in: Innovations in Systems and Software Engineering | Issue 1/2024

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Evolution is one of the most important parts of the software development process. One of the negative consequences of software development is design erosion. Refactoring is a technique that aims to prevent this issue. Therefore, refactoring is an important software development process to promote software quality without changing its external behavior. Refactoring at the model level is the same as refactoring at the code level and has similar advantages, and the only difference is that refactoring at the model level, due to its formation over the initial steps of software development process, has a greater impact on cost reduction and efficiency improvement. Timely and consistent utilization of this procedure in a software project has extremely positive long-term impacts, especially when this is done by its technical tools. Then, refactoring will be a rapid, easy, and safe way to promote software system quality. The main idea of this study is the automatic checking of consistency in model refactoring in order to retain model behavior using Alloy modeling language. Thus, by employing structural and behavioral patterns as a reusable and well-defined component, as well as consistency rules, this objective can be achieved.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Appendix
Available only for authorised users
Literature
1.
go back to reference Abid C et al (2020) 30 years of software refactoring research: a systematic literature review Abid C et al (2020) 30 years of software refactoring research: a systematic literature review
2.
go back to reference Akhtar SM et al (2020) A systematic literature review on software-refactoring techniques, challenges, and practices Akhtar SM et al (2020) A systematic literature review on software-refactoring techniques, challenges, and practices
3.
go back to reference Alexander C (1977) A pattern language: towns, buildings, construction. Oxford University Press, Oxford Alexander C (1977) A pattern language: towns, buildings, construction. Oxford University Press, Oxford
4.
go back to reference Alkhazi B et al (2020) On the value of quality attributes for refactoring ATL model transformations: a multi-objective approach. Inf Softw Technol 120:106243CrossRef Alkhazi B et al (2020) On the value of quality attributes for refactoring ATL model transformations: a multi-objective approach. Inf Softw Technol 120:106243CrossRef
5.
go back to reference AlOmar EA et al (2021) On preserving the behavior in software refactoring: a systematic mapping study. Inf Softw Technol 140:106675CrossRef AlOmar EA et al (2021) On preserving the behavior in software refactoring: a systematic mapping study. Inf Softw Technol 140:106675CrossRef
6.
go back to reference AlOmar EA, Mkaouer MW, Ouni A (2021) Toward the automatic classification of self-affirmed refactoring. J Syst Softw 171:110821CrossRef AlOmar EA, Mkaouer MW, Ouni A (2021) Toward the automatic classification of self-affirmed refactoring. J Syst Softw 171:110821CrossRef
7.
go back to reference Arendt T, Taentzer G (2013) A tool environment for quality assurance based on the eclipse modeling framework. Autom Softw Eng 20(2):141–184CrossRef Arendt T, Taentzer G (2013) A tool environment for quality assurance based on the eclipse modeling framework. Autom Softw Eng 20(2):141–184CrossRef
8.
go back to reference Baqais AAB, Alshayeb MJ (2020) Automatic software refactoring: a systematic literature review. Softw Qual J 28(2):459–502CrossRef Baqais AAB, Alshayeb MJ (2020) Automatic software refactoring: a systematic literature review. Softw Qual J 28(2):459–502CrossRef
9.
go back to reference Ben Ammar B, Bhiri MT (2015) Pattern-based model refactoring for the introduction association relationship. J King Saud Univ Comput Inf Sci 27(2):170–180 Ben Ammar B, Bhiri MT (2015) Pattern-based model refactoring for the introduction association relationship. J King Saud Univ Comput Inf Sci 27(2):170–180
10.
go back to reference Brooks FP (1995) The mythical man-month, chapter no silver bullet-essence and accident in software engineering, vol 15. Addison Wesley Longman Inc., New York, pp 177–203 Brooks FP (1995) The mythical man-month, chapter no silver bullet-essence and accident in software engineering, vol 15. Addison Wesley Longman Inc., New York, pp 177–203
11.
go back to reference Cortellessa V, Eramo R, Tucci M (2020) From software architecture to analysis models and back: model-driven refactoring aimed at availability improvement. Inf Softw Technol 127:106362CrossRef Cortellessa V, Eramo R, Tucci M (2020) From software architecture to analysis models and back: model-driven refactoring aimed at availability improvement. Inf Softw Technol 127:106362CrossRef
12.
go back to reference Cunha A, Garis A, Riesco D (2015) Translating between Alloy specifications and UML class diagrams annotated with OCL. Softw Syst Model 14(1):5–25CrossRef Cunha A, Garis A, Riesco D (2015) Translating between Alloy specifications and UML class diagrams annotated with OCL. Softw Syst Model 14(1):5–25CrossRef
13.
go back to reference Dennis G et al (2004) Automating commutativity analysis at the design level. SIGSOFT Softw Eng Notes 29(4):165–174CrossRef Dennis G et al (2004) Automating commutativity analysis at the design level. SIGSOFT Softw Eng Notes 29(4):165–174CrossRef
14.
go back to reference Einarsson HÞ, Neukirchen H (2012) An approach and tool for synchronous refactoring of UML diagrams and models using model-to-model transformations. ACM, New YorkCrossRef Einarsson HÞ, Neukirchen H (2012) An approach and tool for synchronous refactoring of UML diagrams and models using model-to-model transformations. ACM, New YorkCrossRef
15.
go back to reference Emmerich W et al (1999) Managing standards compliance. IEEE Trans Softw Eng 25(6):836–851CrossRef Emmerich W et al (1999) Managing standards compliance. IEEE Trans Softw Eng 25(6):836–851CrossRef
16.
go back to reference Finkelstein A et al (1993) Inconsistency handling in multi-perspective specifications. In: European software engineering conference. Springer Finkelstein A et al (1993) Inconsistency handling in multi-perspective specifications. In: European software engineering conference. Springer
17.
go back to reference Fowler M (2018) Refactoring: improving the design of existing code. Addison-Wesley Professional, Boston Fowler M (2018) Refactoring: improving the design of existing code. Addison-Wesley Professional, Boston
18.
go back to reference Gamma E (1995) Design patterns: elements of reusable object-oriented software. Pearson Education India, Bengaluru Gamma E (1995) Design patterns: elements of reusable object-oriented software. Pearson Education India, Bengaluru
19.
go back to reference Genero M, Piattini M, Calero C (2005) A survey of metrics for UML class diagrams. J Object Technol 4(9):59–92CrossRef Genero M, Piattini M, Calero C (2005) A survey of metrics for UML class diagrams. J Object Technol 4(9):59–92CrossRef
20.
go back to reference Georg G, Bieman J, France RB (2001) Using alloy and UML/OCL to specify run-time configuration management: a case study. In: Workshop of the pUML-group held together with the «UML»2001 on practical UML-based rigorous development methods—countering or integrating the eXtremists. GI. pp 128–141 Georg G, Bieman J, France RB (2001) Using alloy and UML/OCL to specify run-time configuration management: a case study. In: Workshop of the pUML-group held together with the «UML»2001 on practical UML-based rigorous development methods—countering or integrating the eXtremists. GI. pp 128–141
21.
go back to reference Gheyi R, Massoni T, Borba P (2005) Type-safe refactorings for alloy Gheyi R, Massoni T, Borba P (2005) Type-safe refactorings for alloy
23.
24.
go back to reference Jackson D, Schechter I, Shlyakhter I (2000) Alcoa: the alloy constraint analyzer. In: Proceedings of the 2000 international conference on software engineering. ICSE 2000 the New Millennium Jackson D, Schechter I, Shlyakhter I (2000) Alcoa: the alloy constraint analyzer. In: Proceedings of the 2000 international conference on software engineering. ICSE 2000 the New Millennium
25.
go back to reference Jackson D, Shlyakhter I, Sridharan M (2001) A micromodularity mechanism. ACM SIGSOFT Softw Eng Notes 26(5):62–73CrossRef Jackson D, Shlyakhter I, Sridharan M (2001) A micromodularity mechanism. ACM SIGSOFT Softw Eng Notes 26(5):62–73CrossRef
26.
go back to reference Kim DK (2015) Design pattern based model transformation with tool support. Softw Pract Exp 45(4):473–499CrossRef Kim DK (2015) Design pattern based model transformation with tool support. Softw Pract Exp 45(4):473–499CrossRef
27.
go back to reference Le HA, Dao T-H, Truong N-T (2017) A formal approach to checking consistency in software refactoring. Mob Netw Appl 22(2):356–366CrossRef Le HA, Dao T-H, Truong N-T (2017) A formal approach to checking consistency in software refactoring. Mob Netw Appl 22(2):356–366CrossRef
28.
go back to reference Mansoor U et al (2017) Multi-view refactoring of class and activity diagrams using a multi-objective evolutionary algorithm. Softw Qual J 25(2):473–501CrossRef Mansoor U et al (2017) Multi-view refactoring of class and activity diagrams using a multi-objective evolutionary algorithm. Softw Qual J 25(2):473–501CrossRef
29.
go back to reference Markovic S (2008) Model refactoring using transformations. EPFL, Lausanne Markovic S (2008) Model refactoring using transformations. EPFL, Lausanne
30.
go back to reference Marković S, Baar T (2008) Refactoring OCL annotated UML class diagrams. Softw Syst Model 7(1):25–47CrossRef Marković S, Baar T (2008) Refactoring OCL annotated UML class diagrams. Softw Syst Model 7(1):25–47CrossRef
31.
go back to reference Massoni T, Gheyi R, Borba P (2005) Formal refactoring for UML class diagrams Massoni T, Gheyi R, Borba P (2005) Formal refactoring for UML class diagrams
32.
go back to reference Mens T, Taentzer G, Müller D (2007) Model-driven software refactoring, pp 25–27 Mens T, Taentzer G, Müller D (2007) Model-driven software refactoring, pp 25–27
33.
go back to reference Mens T, Tourwe T (2004) A survey of software refactoring. IEEE Trans Softw Eng 30(2):126–139CrossRef Mens T, Tourwe T (2004) A survey of software refactoring. IEEE Trans Softw Eng 30(2):126–139CrossRef
34.
go back to reference Misbhauddin M, Alshayeb M (2012) Towards a multi-view approach to model-driven refactoring. IEEE Misbhauddin M, Alshayeb M (2012) Towards a multi-view approach to model-driven refactoring. IEEE
35.
go back to reference Misbhauddin M, Alshayeb M (2015) UML model refactoring: a systematic literature review. Empir Softw Eng 20(1):206–251CrossRef Misbhauddin M, Alshayeb M (2015) UML model refactoring: a systematic literature review. Empir Softw Eng 20(1):206–251CrossRef
36.
go back to reference Misbhauddin M, Alshayeb M (2019) An integrated metamodel-based approach to software model refactoring. Softw Syst Model 18(3):2013–2050CrossRef Misbhauddin M, Alshayeb M (2019) An integrated metamodel-based approach to software model refactoring. Softw Syst Model 18(3):2013–2050CrossRef
37.
go back to reference Moeini A, Rafe V, Mahdian F (2010) An approach to refactoring legacy systems. In: 2010 3rd international conference on advanced computer theory and engineering (ICACTE). IEEE Moeini A, Rafe V, Mahdian F (2010) An approach to refactoring legacy systems. In: 2010 3rd international conference on advanced computer theory and engineering (ICACTE). IEEE
38.
go back to reference Nissen HW et al (1996) Managing multiple requirements perspectives with metamodels. IEEE Softw 13(2):37–48CrossRef Nissen HW et al (1996) Managing multiple requirements perspectives with metamodels. IEEE Softw 13(2):37–48CrossRef
39.
go back to reference Nuseibeh B, Kramer J, Finkelstein A (1994) A framework for expressing the relationships between multiple views in requirements specification. IEEE Trans Softw Eng 20(10):760–773CrossRef Nuseibeh B, Kramer J, Finkelstein A (1994) A framework for expressing the relationships between multiple views in requirements specification. IEEE Trans Softw Eng 20(10):760–773CrossRef
40.
go back to reference Pérez-Castillo R, Fernández-Ropero M, Piattini M (2019) Business process model refactoring applying IBUPROFEN. An industrial evaluation. J Syst Softw 147:86–103CrossRef Pérez-Castillo R, Fernández-Ropero M, Piattini M (2019) Business process model refactoring applying IBUPROFEN. An industrial evaluation. J Syst Softw 147:86–103CrossRef
41.
go back to reference Ranjini K, Kanthimathi A, Yasmine YJ (2011) Design of adaptive road traffic control system through unified modeling Language. Int J Comput Appl 14(7):36–41 Ranjini K, Kanthimathi A, Yasmine YJ (2011) Design of adaptive road traffic control system through unified modeling Language. Int J Comput Appl 14(7):36–41
42.
go back to reference Reimann J, Seifert M, Aßmann U (2010) Role-based generic model refactoring. Springer, BerlinCrossRef Reimann J, Seifert M, Aßmann U (2010) Role-based generic model refactoring. Springer, BerlinCrossRef
43.
go back to reference Shlyakhter I et al (2003) Debugging overconstrained declarative models using unsatisfiable cores. In: 18th IEEE international conference on automated software engineering. Proceedings Shlyakhter I et al (2003) Debugging overconstrained declarative models using unsatisfiable cores. In: 18th IEEE international conference on automated software engineering. Proceedings
44.
go back to reference Sidhu BK, Singh K, Sharma N (2018) Refactoring UML models of object-oriented software: a systematic review. Int J Softw Eng Knowl Eng 28(09):1287–1319CrossRef Sidhu BK, Singh K, Sharma N (2018) Refactoring UML models of object-oriented software: a systematic review. Int J Softw Eng Knowl Eng 28(09):1287–1319CrossRef
45.
go back to reference Sidhu BK, Singh K, Sharma N (2020) A machine learning approach to software model refactoring. Int J Comput Appl 44:166–177 Sidhu BK, Singh K, Sharma N (2020) A machine learning approach to software model refactoring. Int J Comput Appl 44:166–177
46.
go back to reference Sidhu BK, Singh K, Sharma N (2022) A machine learning approach to software model refactoring. Int J Comput Appl 44(2):166–177 Sidhu BK, Singh K, Sharma N (2022) A machine learning approach to software model refactoring. Int J Comput Appl 44(2):166–177
47.
go back to reference Sloane AM (2006) Software abstractions: logic, language, and analysis by Daniel Jackson. The MIT Press, Cambridge Sloane AM (2006) Software abstractions: logic, language, and analysis by Daniel Jackson. The MIT Press, Cambridge
49.
go back to reference Shah SMA, Anastasakis K, Bordbar B (2002) From UML to alloy and back again. In: Models in software engineering. lecture notes in computer science, vol 6002. Springer Shah SMA, Anastasakis K, Bordbar B (2002) From UML to alloy and back again. In: Models in software engineering. lecture notes in computer science, vol 6002. Springer
50.
go back to reference Taghdiri M, Jackson D (2003) A lightweight formal analysis of a multicast key management scheme. Springer, BerlinCrossRef Taghdiri M, Jackson D (2003) A lightweight formal analysis of a multicast key management scheme. Springer, BerlinCrossRef
51.
go back to reference Tanhaei M (2020) A model transformation approach to perform refactoring on software architecture using refactoring patterns based on stakeholder requirements. AUT J Math Comput 1(2):179–216 Tanhaei M (2020) A model transformation approach to perform refactoring on software architecture using refactoring patterns based on stakeholder requirements. AUT J Math Comput 1(2):179–216
52.
go back to reference Van Der Straeten R, Jonckers V, Mens T (2007) A formal approach to model refactoring and model refinement. Softw Syst Model 6(2):139–162CrossRef Van Der Straeten R, Jonckers V, Mens T (2007) A formal approach to model refactoring and model refinement. Softw Syst Model 6(2):139–162CrossRef
53.
go back to reference Wallace C (2003) Using Alloy in process modelling. Inf Softw Technol 45(15):1031–1043CrossRef Wallace C (2003) Using Alloy in process modelling. Inf Softw Technol 45(15):1031–1043CrossRef
Metadata
Title
Automatic pattern-based consistency checking in model refactoring: introducing a formal behavioral preserving method
Authors
Saeedeh Ghaedi Heidari
Shohreh Ajoudanian
Publication date
17-02-2023
Publisher
Springer London
Published in
Innovations in Systems and Software Engineering / Issue 1/2024
Print ISSN: 1614-5046
Electronic ISSN: 1614-5054
DOI
https://doi.org/10.1007/s11334-022-00525-8

Other articles of this Issue 1/2024

Innovations in Systems and Software Engineering 1/2024 Go to the issue

Premium Partner