Skip to main content
Erschienen 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

verfasst von: Saeedeh Ghaedi Heidari, Shohreh Ajoudanian

Erschienen in: Innovations in Systems and Software Engineering | Ausgabe 1/2024

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Anhänge
Nur mit Berechtigung zugänglich
Literatur
1.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat Jackson D (2002) Alloy: a lightweight object modelling notation. ACM Trans Softw Eng Methodol 11(2):256–290MathSciNetCrossRef Jackson D (2002) Alloy: a lightweight object modelling notation. ACM Trans Softw Eng Methodol 11(2):256–290MathSciNetCrossRef
24.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat Markovic S (2008) Model refactoring using transformations. EPFL, Lausanne Markovic S (2008) Model refactoring using transformations. EPFL, Lausanne
30.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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
48.
49.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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
Metadaten
Titel
Automatic pattern-based consistency checking in model refactoring: introducing a formal behavioral preserving method
verfasst von
Saeedeh Ghaedi Heidari
Shohreh Ajoudanian
Publikationsdatum
17.02.2023
Verlag
Springer London
Erschienen in
Innovations in Systems and Software Engineering / Ausgabe 1/2024
Print ISSN: 1614-5046
Elektronische ISSN: 1614-5054
DOI
https://doi.org/10.1007/s11334-022-00525-8

Weitere Artikel der Ausgabe 1/2024

Innovations in Systems and Software Engineering 1/2024 Zur Ausgabe

Premium Partner