Nothing Special   »   [go: up one dir, main page]

Skip to main content
Log in

An integrated metamodel-based approach to software model refactoring

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Software refactoring is the process of changing a software system in a manner that does not alter its external behavior and yet improving its internal structure. Model-driven architecture and the popularity of the UML enabled the application of refactoring at model level, which was earlier applied to software code. In this paper, we propose a multi-view integrated approach to model-driven refactoring using UML models. We selected a single model from each UML view at metamodel level to construct an integrated metamodel. We selected class diagram to represent the structural view, sequence diagram to represent the behavioral view and use case diagram to represent the functional view. We validated the proposed approach by comparing integrated refactoring approach with refactoring applied to models individually in terms of quality improvement through UML model metrics. Our results indicate that more bad smell instances can be detected using the integrated approach rather than the individual refactoring approach.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

References

  1. Fowler, M., Beck, K., Brant, J., Opdyke, W.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)

    Google Scholar 

  2. Al Dallal, J.: Identifying refactoring opportunities in object-oriented code: a systematic literature review. Inf. Softw. Technol. 58, 231–249 (2015)

    Article  Google Scholar 

  3. Misbhauddin, M., Alshayeb, M.: UML model refactoring: a systematic literature review. Empir. Softw. Eng 20(1), 206–251 (2013)

    Article  Google Scholar 

  4. Fondement, F., Silaghi, R.: Defining model driven engineering processes. In: Third International Workshop in Software Model Engineering (WiSME) (2004)

  5. France, R.B., Bieman, J.M.: Multi-view software evolution: a UML-based framework for evolving object-oriented software. In: 17th IEEE International Conference on Software Maintenance (ICSM’01). IEEE Computer Society, p. 386 (2001)

  6. Riel, A.J.: Object-Oriented Design Heuristics. Addison-Wesley, Reading (1996)

    Google Scholar 

  7. Mens, T., Demeyer, S., Du Bois, B., Stenten, H., Van Gorp, P.: Refactoring: current research and future trends. Electron. Notes Theor. Comput. Sci. 82, 483–499 (2003)

    Article  Google Scholar 

  8. Mens, T., Taentzer, G., Müller, D.: Challenges in Model Refactoring. Presented at the International Workshop on Object-Oriented Reengineering, Berlin, Germany (2007)

  9. Mens, T., Taentzer, G., Müller, D.: Model-driven software refactoring. In: Model-Driven Software Development: Integrating Quality Assurance. IDEA Group Publishing (2008)

  10. Van Der Straeten, R., Mens, T., Van Baelen, S.: Challenges in model-driven software engineering. In: Chaudron, M. (ed.) Models in Software Engineering, vol. 5421 (Lecture Notes in Computer Science, no. Proc. Workshops and Symposia at MODELS 2008), pp. 35–47. Springer, Berlin/Heidelberg (2009)

  11. Wake, W.C.: Refactoring Workbook (Object Technology Series). Addison-Wesley, Reading (2003)

  12. Fourati, R., Bouassida, N., Abdallah, H.: A metric-based approach for anti-pattern detection in UML designs. In: Lee, R. (ed.) Computer and Information Science, vol. 364 (Studies in Computational Intelligence), pp. 17-33. Springer, Berlin/Heidelberg (2011)

  13. Mohamed, M., Romdhani, M., Ghedira, K.: M-REFACTOR: a new approach and tool for model refactoring ARPN. J. Syst. Softw. 1(4), 117–122 (2011)

    Google Scholar 

  14. Ghannem, A., Kessentini, M., El Boussaidi, G.: Detecting model refactoring opportunities using heuristic search. Presented at the Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research, Toronto, Ontario, Canada (2011)

  15. Moha, N., Gueheneuc, Y.-G., Duchien, L., Le Meur, A.-F.: DECOR: a method for the specification and detection of code and design smells. IEEE Trans. Softw. Eng. 36(1), 20–36 (2010)

    Article  MATH  Google Scholar 

  16. Derrick, J., Wehrheim, H.: Model transformations across views. Sci. Comput. Program. 75(3), 192–210 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  17. Kolahdouz-Rahimi, S., Lano, K., Pillay, S., Troya, J., Van Gorp, P.: Evaluation of model transformation approaches for model refactoring. Sci. Comput. Program. Part A 85, 5–40 (2014)

    Article  Google Scholar 

  18. Mohamed, M., Romdhani, M., Ghedira, K.: Classification of model refactoring approaches. J. Object Technol. 8(6), 121–126 (2009)

    Article  Google Scholar 

  19. Katić, M., Fertalj, K.: Challenges and discussion of software redesign. In: The 4th International Conference on Information Technology, Amman, Jordan, pp. 1–7 (2009)

  20. Van Gorp, P., Stenten, H., Mens, T., Demeyer, S.: Towards automating source-consistent UML refactorings. In: Stevens, P., Whittle, J., Booch, G. (eds.) “UML” 2003—The Unified Modeling Language. Modeling Languages and Applications, vol. 2863 (Lecture Notes in Computer Science), pp. 144–158. Springer, Berlin/Heidelberg (2003)

  21. Maneerat, N., Muenchaisri, P.: Bad-smell prediction from software design model using machine learning techniques. In: Eighth International Joint Conference on Computer Science and Software Engineering, pp. 331–336 (2011)

  22. Astels, D.: Refactoring with UML. In: Proceedings of International Conference eXtreme Programming and Flexible Processes in Software Engineering, pp. 67–70 (2002)

  23. Ruhroth, T., Voigt, H., Wehrheim, H.: Measure, diagnose, refactor: a formal quality cycle for software models (in English). In: Proceedings of the 35th Euromicro Conference on Software Engineering and Advanced Applications, Conference Paper, pp. 360–367 (2009)

  24. France, R.B., Ghosh, S., Song, E., Kim, D.-K.: A metamodeling approach to pattern-based model refactoring. IEEE Softw. 20, 52–58 (2003)

    Article  Google Scholar 

  25. Kim, D.-K.: Software quality improvement via pattern-based model refactoring. In: High Assurance Systems Engineering Symposium, 2008. HASE 2008. 11th IEEE. IEEE, pp. 293–302 (2008)

  26. Kim, D.-K., El Khawand, C.: An approach to precisely specifying the problem domain of design patterns. J. Vis. Lang. Comput. 18(6), 560–591 (2007)

    Article  Google Scholar 

  27. Ballis, D., Baruzzo, A., Comini, M.: A minimalist visual notation for design patterns and antipatterns. In: Fifth International Conference on Information Technology: New Generations, pp. 51–56 (2008)

  28. Llano, M.T., Pooley, R.: UML specification and correction of object-oriented anti-patterns. In: Fourth International Conference on Software Engineering Advances, 2009. ICSEA’09. IEEE, pp. 39–44 (2009)

  29. Akiyama, M., Hayashi, S., Kobayashi, T., Saeki, M.: Supporting design model refactoring for improving class responsibility assignment. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems, vol. 6981 (Lecture Notes in Computer Science), pp. 455–469. Springer, Berlin/Heidelberg (2011)

  30. Dobrzański, Ł., Kuźniarz, L.: An approach to refactoring of executable UML models. In: Proceedings of the 2006 ACM Symposium on Applied Computing. ACM, pp. 1273–1279 (2006)

  31. Stolc, M., Polasek, I.: A visual based framework for the model refactoring techniques. In: IEEE 8th International Symposium on Applied Machine Intelligence and Informatics, pp. 72–82 (2010)

  32. El-Attar, M., Miller, J.: Improving the quality of use case models using antipatterns. Softw. Syst. Model. 9(2), 141–160 (2010)

    Article  Google Scholar 

  33. Enckevort, T.v.: Refactoring UML models: using openarchitectureware to measure uml model quality and perform pattern matching on UML models with OCL queries. In: Proceedings of the 24th ACM SIGPLAN Conference Companion on Object-Oriented Programming Systems Languages and Applications. ACM, pp. 635–646 (2009)

  34. Liu, H., Ma, Z., Zhang, L., Shao, W.: Detecting duplications in sequence diagrams based on suffix trees. In: 13th Asia Pacific Software Engineering Conference, Kanpur, India. IEEE Computer Society, pp. 269–276 (2006)

  35. Boger, M., Sturm, T., Fragemann, P.: Refactoring browser for UML. In: Objects, Components, Architectures, Services, and Applications for a Networked World, vol. 2591(Lecture Notes in Computer Science). Springer, Berlin, Heidelberg, pp. 366–377 (2003)

  36. Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.-M.: Refactoring UML models. In: “UML” 2001—The Unified Modeling Language. Modeling Languages, Concepts, and Tools, vol. 2185 (Lecture Notes in Computer Science). Springer, Berlin, pp. 134–148 (2001)

  37. Philipps, J., Rumpe, B.: Roots of refactoring. In: Tenth OOPSLA Workshop on Behavioral Semantics, pp. 187–199 (2001)

  38. Khan, M.U., Iqbal, M.Z., Ali, S.: A heuristic-based approach to refactor crosscutting behaviors in UML state machines. In: 2014 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 557–560 (2014)

  39. Rui, K., Butler, G.: Refactoring use case models: the metamodel. In: Proceedings of the 26th Australasian Computer Science Conference, vol. 16. Australian Computer Society, Inc., pp. 301–308 (2003)

  40. Yu, W., Li, J., Butler, G.: Refactoring use case models on episodes. In: 19th IEEE International Conference on Automated Software Engineering (ASE’04), pp. 328–331 (2004)

  41. Ren, S., Butler, G., Rui, K., Xu, J., Yu, W., Luo, R.: A prototype tool for use case refactoring. In: Proceedings of the 6th International Conference on Enterprise Information Systems, pp. 173–178 (2004)

  42. Regnell, B.: Requirements Engineering with Use Cases—A Basis for Software Development. PhD Thesis, Lund University (1999)

  43. Xu, J., Yu, W., Rui, K., Butler, G.: Use case refactoring: a tool and a case study. In: Proceedings of the 11th Asia-Pacific Software Engineering Conference, Washington, DC, USA. IEEE Computer Society, pp. 484–491 (2004)

  44. Genero, M., Piattini, M., Calero, C.: Empirical validation of class diagram metrics. In: International Symposium on Empirical Software Engineering, pp. 195–203 (2002)

  45. Kim, H., Boldyreff, C.: Developing software metrics applicable to UML models. In: 6th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (2002)

  46. Gronback, R.: Model Validation: Applying Audits and Metrics to UML Models. http://conferences.embarcadero.com/jp/article/32089 (2004, May 2012)

  47. Henry, S., Kafura, D.: Software structure metrics based on information flow. IEEE Trans. Softw. Eng. 7(5), 510–518 (1981)

    Article  Google Scholar 

  48. Muskens, J., Chaudron, M., Lange, C.: Investigations in applying metrics to multi-view architecture models. In: Proceedings of the 30th EUROMICRO Conference. IEEE Computer Society, pp. 372–379 (2004)

  49. Lange, C.: Model size matters. In: Kühne, T. (ed.) Models in Software Engineering, vol. 4364 (Lecture Notes in Computer Science), pp. 211–216. Springer, Berlin/Heidelberg (2007)

  50. Tchertchago, A.: Formal semantics for a UML fragment using UML/OCL metamodeling. In: Software Engineering and ApplicationsCambridge. ACTA Press, MA (2002)

  51. da Silva, P.P., Paton, N.W.: User interface modeling in UMLi. IEEE Softw. 20(4), 62–69 (2003)

    Article  Google Scholar 

  52. Egyed, A., Medvidovic, N.: Extending architectural representation in UML with view integration. Presented at the Proceedings of the 2nd International Conference on the Unified Modeling Language: Beyond the Standard, Fort Collins, CO, USA (1999)

  53. Boronat, A., Carsí, J.Á., Ramos, I., Letelier, P.: Formal model merging applied to class diagram integration. Electron. Notes Theor. Comput. Sci. 166, 5–26 (2007)

    Article  Google Scholar 

  54. Selonen, P., Systä, T.: Scenario-based synthesis of annotated class diagrams in UML. Presented at the Proceedings of OOPSLA 2000 Workshop: Scenario-Based Round-trip Engineering (2000)

  55. Salem, R.B., Grangel, R., Bourey, J.-P.: A comparison of model transformation tools: application for transforming GRAI extended actigrams into UML activity diagrams. Comput. Ind. 59(7), 682–693 (2008)

    Article  Google Scholar 

  56. Sun, W., Song, E., Grabow, P.C., Simmonds, D.M.: Toward an integrated tool environment for static analysis of UML class and sequence models. J. Univ. Comput. Sci. 16(17), 2435–2454 (2010)

    Google Scholar 

  57. Miller, J., Mukerji, J.: MDA Guide Version 1.0.1, 1.0.1 ed (2003)

  58. Unified Modeling Language: Superstructure (2011)

  59. Misbhauddin, M., Alshayeb, M.: Extending the UML metamodel for sequence diagram to enhance model traceability. In: Proceedings of the 2010 Fifth International Conference on Software Engineering Advances France, pp. 129–134 (2010)

  60. Hoffmann, V., Lichter, H., Nyáen, A., Walter, A.: Towards the integration of UML and textual use case modeling. J. Object Technol. 8(3), 85–100 (2009)

    Article  Google Scholar 

  61. Bragança, A., Machado, R.J.: Extending UML 2.0 metamodel for complementary usages of the \(<<\) extend \(>>\) relationship within use case variability specification. In: 10th International Software Product Line Conference, Baltimore, USA. IEEE Computer Society, pp. 123–130 (2006)

  62. Somé, S.S.: A meta-model for textual use case description. J. Object Technol. 8(7), 87–106 (2009)

    Article  Google Scholar 

  63. Fantechi, A., Gnesi, S., Lami, G., Maccari, A.: Application of linguistic techniques for use case analysis. In: International Requirements Engineering Conference, London Limited, vol. 8. Springer, pp. 161–170 (2003)

  64. Fliedl, G., et al.: Deriving static and dynamic concepts from software requirements using sophisticated tagging. J. Data Knowl. Eng. 61(3), 433–448 (2007)

    Article  Google Scholar 

  65. Rolland, C., Ben Achour, C.: Guiding the construction of textual use case specifications. J. Data Knowl. Eng. 25(1–2), 125–160 (1998)

    Article  MATH  Google Scholar 

  66. Sinha, A., Paradkar, A.M., Kumanan, P., Boguraev, B.: A linguistic analysis engine for natural language use case description and its application to dependability analysis in industrial use cases. In: International Conference on Dependable Systems and Networks. IEEE, pp. 327–336 (2009)

  67. Yue, T., Briand, L.C., Labiche, Y.: Automatically deriving a UML analysis model from a use case model. In: Simula Research Laboratory, Carleton University, Canada (2010). http://134.117.61.33/pubs/tech_report/TR-SCE-09-09.pdf

  68. Misbhauddin, M., Alshayeb, M.: Extending the UML use case metamodel with behavioral information to facilitate model analysis and interchange. Softw. Syst. Model. 14(2), 813–838 (2015)

    Article  Google Scholar 

  69. Ramalho, F., Robin, J., Barros, R.: XOCL—an XML language for specifying logical constraints in object oriented models. J. Univers. Comput. Sci. 9(8), 956–969 (2003)

    Google Scholar 

  70. Unified Modeling Language: Infrastructure (2011)

  71. Batini, C., Lenzerini, M., Navathe, S.B.: A comparative analysis of methodologies for database schema integration. ACM Comput. Surv. 18(4), 323–364 (1986)

    Article  Google Scholar 

  72. Chaouni, S.B., Fredj, M., Mouline, S.: MDA based-approach for UML models complete comparison. Int. J. Comput. Sci. Issues 8(2), 1–10 (2011)

    Google Scholar 

  73. Warmer, J.B., Kleppe, A.G.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley Professional, Reading (2004)

    Google Scholar 

  74. Lano, K.: Introduction to the unified modeling language. In: Lano, K. (ed.) UML 2 Semantics and Applications. Wiley, Hoboken (2009)

    Chapter  Google Scholar 

  75. Misbhauddin, M., Alshayeb, M.: Model-driven refactoring approaches—a comparison framework. In: The African Conference on Software Engineering and Applied Computing, Botswana, 2012. IEEE Computer Society (2012)

  76. Taentzer et al., G.: Model transformation by graph transformation: a comparative study. Presented at the International Workshop on Model Transformations in Practice (2005)

  77. Furche, T., et al.: Survey over existing query and transformation languages. In: Reasoning on the Web with Rules and Semantics (REWERSE), LudwigMaximiliansUniversität München, Munich (2004). http://rewerse.net/deliverables/m24/i4-d9a.pdf

  78. Opdyke, W.: Refactoring Object-Oriented Frameworks. PhD thesis PhD thesis, University of Illinois at Urbana Champaign (1992)

  79. Kniesel, G., Koch, H.: Static composition of refactorings. Sci. Comput. Program. Spec. Issue Program Transform. 52(1–3), 9–51 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  80. Mantz, F.: Syntactic Quality Assurance Techniques for Software Models. Diploma Thesis Diploma Thesis, Fachbereich Mathematik und Informatik, Philipps-Universität, Marburg (2009)

  81. Rui, K.: Refactoring Use Case Models. PhD Thesis PhD Thesis, Concordia University (2007)

  82. Meng, S., Barbosa, L.S.: A coalgebraic semantic framework for reasoning about UML sequence diagrams. In: The Eighth International Conference on Quality Software, pp. 17–26 (2008)

  83. Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)

    Article  Google Scholar 

  84. Fowler, M.: Use and Abuse Cases. Distributed Computing Magazine (1998)

  85. Misbhauddin, M., Alshayeb, M.: Towards a multi-view approach to model-based refactoring. In: The African Conference on Software Engineering and Applied Computing, Botswana, 2012. IEEE Computer Society (2012)

  86. Anda, B., Dreiem, H., Sjøberg, D.I.K., Jørgensen, M.: Estimating Software development effort based on use cases—experiences from industry. In: Proceedings of the 4th International Conference on the Unified Modeling Language, Modeling Languages, Concepts, and Tools. Springer, pp. 487–502 (2001)

  87. Nunes, N.J.: iUCP-estimating interaction design projects with enhanced use case points. In: England, D., Palanque, P., Vanderdonckt, J., Wild, P. (eds.) Task Models and Diagrams for User Interface Design, vol. 5963 (Lecture Notes in Computer Science), pp. 131–145. Springer, Berlin/Heidelberg (2010)

  88. Lilly, S.: Use case pitfalls: top 10 problems from real projects using use cases. Presented at the Proceedings of Technology of Object-Oriented Languages and Systems (1999)

  89. Bittner, K., Spence, I.: Use Case Modeling. Addison-Wesley, Reading (2003)

    Google Scholar 

  90. Ciemniewska, A., Jurkiewicz, J., Olek, L., Nawrocki, J.: Supporting use-case reviews. In: Proceedings of the 10th International Conference on Business Information Systems. Springer, Berlin, Heidelberg, pp. 424–437 (2007)

  91. Lange, C.F.J., Chaudron, M.R.V.: Managing model quality in UML-based software development. In: 13th IEEE International Workshop on Software Technology and Engineering Practice. IEEE Computer Society, pp. 7–16 (2005)

  92. Jalbani, A.A., Grabowski, J., Neukirchen, H., Zeiss, B.: Towards an integrated quality assessment and improvement approach for UML models. In: SDL 2009: Design for Motes and Mobiles. Springer, pp. 63–81 (2009)

  93. Ambler, S.W.: The Elements of UML 2.0 Style. Cambridge University Press, New York (2005)

    Book  Google Scholar 

  94. Wüst, J.: SDMetrics, 2.32 ed. Germany (2016)

  95. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)

    Article  Google Scholar 

  96. Briand, L., Labiche, Y., O’Sullivan, L., Sówka, M.M.: Automated impact analysis of UML models. J. Syst. Softw. 79(3), 339–352 (2006)

    Article  Google Scholar 

  97. Chapman, M., Goodner, M., Lund, B., McKee, B., Rekasius, R.: Supply Chain Management Sample Application Architecture, Web Services Interoperability Organization (2003)

  98. Koch, N.: Automotive Case Study: UML Specification of On Road Assistance Scenario. In: Sensoria: Software Engineering for Service-Oriented Overlay Computers, Information Society Technologies, Italy (2007). http://rap.dsi.unifi.it/sensoria/files/FAST_report_1_2007_ACS_UML.pdf

  99. Berndl, D., Koch, N.: Automotive Scenario: Illustrating Service Specification. In: Sensoria: Software Engineering for Service-Oriented Overlay Computers, Information Society Technologies, Italy (2007). http://rap.dsi.unifi.it/sensoria/files/FAST_report_2_2007_ACS_Spec.pdf

  100. Seidl, R., Sneed, H.: Modeling Metrics for UML Diagrams. Testing Experience (2010)

  101. Olson, D.L., Delen, D.: Advanced Data Mining Techniques, 1st edn. Springer, New York (2008)

    MATH  Google Scholar 

Download references

Acknowledgements

This research work is partially supported by King Abdul Aziz City for Science & Technology (KACST) as well as the Deanship of Scientific Research of the King Fahd University of Petroleum and Minerals.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammad Alshayeb.

Additional information

Communicated by Professor Daniel Amyot.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Misbhauddin, M., Alshayeb, M. An integrated metamodel-based approach to software model refactoring. Softw Syst Model 18, 2013–2050 (2019). https://doi.org/10.1007/s10270-017-0628-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-017-0628-3

Keywords

Navigation