Skip to main content

Model Cloning: A Push to Reuse or a Disaster?

  • Chapter
Adaptive and Personalized Semantic Web

Part of the book series: Studies in Computational Intelligence ((SCI,volume 14))

Abstract

The paper focuses on evaluating and refactoring the conceptual schemas of Web applications. The authors introduce the notion of model clones, as partial conceptual schemas that are repeated within a broader application model and the notion of model smells, as certain blocks in the Web applications model, that imply the possibility of refactoring. A methodology is illustrated for detecting and evaluating the existence of potential model clones, in order to identify problems in an application’s conceptual schema by means of efficiency, consistency, usability and overall quality. The methodology can be deployed either in the process of designing an application or in the process of re-engineering it. Evaluation is performed according to a number of inspection steps. At first level the compositions used in the hypertext design are evaluated, followed by a second level evaluation concerning the manipulation and presentation of data to the user. Next, a number of metrics is defined to automate the detection and categorization of candidate model clones in order to facilitate potential model refactoring. Finally, the paper proposes a number of straightforward refactoring rules based on the categorization and discusses the aspects affecting the automation of the refactoring procedure.

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

Access this chapter

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

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Antoniou G., Casazza G., Di Penta M., Merlo E. (2001) Modeling Clones Evolution Through Time Series. In the Proceedings of the International Conference on Software Maintenance, Florence, Italy, pp. 273–280

    Google Scholar 

  2. Atzeni P., Mecca G., Merialdo P. (1998) Design and Maintenance of Data- Intensive Web Sites. In the Proceedings of the 6th International Conference on Extending Database Technology – EDBT'98, pp. 436–450

    Google Scholar 

  3. Baeza-Yates R., Ribeiro-Neto B. (1999) Modern Information Retrieval. Addison Wesley, ACM Press

    Google Scholar 

  4. Baker B.S. (1995) On Finding Duplication and Near-Duplication in Large Software Systems. In the Proceedings of the Second Working Conference on Reverse Engineering, Toronto, Canada, pp. 86–95

    Google Scholar 

  5. Balazinska M., Merlo E., Dagenais M., Lague B., Kontogiannis K. (1999) Measuring Clone Based Reengineering Opportunities. In the Proceedings of the 6th IEEE International Symposium on Software Metrics, Boca Raton, USA, pp. 292–303

    Google Scholar 

  6. Baxter I.D., Yahin A., Moura L., Santa Anna M., Bier L. (1998) Clone Detection Using Abstract Syntax Trees. In the Proceedings of the International Conference on Software Maintenance, Washington DC, USA, pp. 368–377

    Google Scholar 

  7. Boehm B. (1981) Software Engineering Economics. Prentice Hall PTR

    Google Scholar 

  8. Boldyre. C., Kewish R. (2001) Reverse Engineering to Achieve Maintainable WWW Sites. In the Proceedings of the 8th Working Conference on Reverse Engineering (WCRE'01), Stuttgart, Germany, pp. 249–257

    Google Scholar 

  9. Booch G., Jacobson I., Rumbaugh J. (1998) The United Modeling Language User Guide. The Addison-Wesley Object Technology Series

    Google Scholar 

  10. Ceri S., Fraternali P., Bongio A. (2000) Web Modeling Language (WebML): a Modeling Language for Designing Web Sites. In the Proceedings of WWW9 Conference, Amsterdam

    Google Scholar 

  11. Ceri S., Fraternali P., Bongio A., Brambilla M., Comai S., Matera M. (2002) Designing Data-Intensive Web Applications. Morgan Kauffmann

    Google Scholar 

  12. Chikofsky E., Cross J. (1990) Reverse engineering and design recovery: A taxonomy. IEEE Software 7(1): 3–17

    Article  Google Scholar 

  13. Coleman D.M., Ash D., Lowther B., Oman, P.W. (1994) Using Metrics to Evaluate Software System Maintainability. Computer 27(8): 44–49

    Article  Google Scholar 

  14. Comai S., Matera M., Maurino A. (2002) A Model and an XSL Framework for Analysing the Quality of WebML Conceptual Schemas. In Proc of IWCMQ'02 – ER'02 International Workshop on Conceptual Modeling Quality, Tampere, Finland, October 2002

    Google Scholar 

  15. Conallen J. (1999) Modeling Web application architectures with UML. Communications of the ACM 42(10): 63–70

    Article  Google Scholar 

  16. Conallen J. (1999) Building Web Applications with UML. Addison-Wesley, Reading MA

    Google Scholar 

  17. Di Lucca G.A., Di Penta M., Fasolino A.R., Granato P. (2001) Clone Analysis in the Web Era: an Approach to Identify Cloned Web Pages. In the Proceedings of the 7th IEEE Workshop on Empirical Studies of Software Maintenance, Florence, Italy, pp. 107–113

    Google Scholar 

  18. Ducasse S., Rieger M., Demeyer S. (1999) A language independent approach for detecting duplicated code. In the Proceedings of the International Conference on Software Maintenance, IEEE Computer Society Press, Oxford, UK, pp. 109–118

    Google Scholar 

  19. Fernandez M.F., Florescu D., Kang J., Levy A.Y., Suciu D. (1998) Catching the Boat with Strudel: Experiences with a Web-Site Management System. In the Proceedings of ACM-SIGMOD Conference, pp. 414–425

    Google Scholar 

  20. Fowler M., Beck K., Brant J., Opdyke W., Roberts, D. (1999) Refactoring: Improving the Design of Existing Code. The Addison-Wesley Object Technology Series

    Google Scholar 

  21. Fraternali P., Paolini, P. (1998) A Conceptual Model and a Tool Environment for Developing More Scalable, Dynamic, and Customizable Web Applications. In the Proceedings of the 6th International Conference on Extending Database Technology – EDBT'98, pp. 421–435

    Google Scholar 

  22. Fraternali P., Lanzi P.L., Matera M., Maurino A. (2004) Exploiting Conceptual Modeling for Web Application Quality Evaluation. In the Proceedings of WWW 2004 Alternate Tracks and Posters, New York, USA, May 2004

    Google Scholar 

  23. Fraternali P., Lanzi P.L., Matera M., Maurino A. (2004) Model-Driven Web Usage Analysis for the Evaluation of Web Application Quality. Submitted for publication to Journal of Web Engineering, April 2004

    Google Scholar 

  24. Fraternali P., Matera M., Maurino A. (2002) WQA: an XSL Framework for Analyzing the Quality of Web Applications. In the Proceedings of the 2nd International Workshop on Web-Oriented Software Technologies – IWWOST'02, Malaga, Spain, pp. 46–61

    Google Scholar 

  25. Fraternali P., Matera M., Maurino A. (2004) Conceptual-Level Log Analysis for the Evaluation of Web Application Quality. In the Proceedings of LA-Web Conference, IEEE Press, Cile, November 2004

    Google Scholar 

  26. Garey M.R., Johnson D.S. (1979) Computers and Intractability: A guide to NP-Completeness. New York: Freeman

    Google Scholar 

  27. Garzotto F., Paolini P., Schwabe D. (1993) HDM - A Model-Based Approach to Hypertext Application Design. ACM Transactions on Information Systems 11(1): 1–26

    Article  Google Scholar 

  28. Guimaraes T. (1983) Managing Application Program Maintenance Expenditure. Communications of the ACM 26(10): 739–746

    Article  Google Scholar 

  29. Isakowitz T., Sthor E.A., Balasubranian P. (1995) RMM: a methodology for structured hypermedia design. Communications of the ACM 38(8): 34–44

    Article  Google Scholar 

  30. Johnson J.H. (1993) Identifying Redundancy in Source Code using Fingerprints. In the Proceedings of the CAS Conference, Toronto, Canada, pp. 171–183

    Google Scholar 

  31. Johnson J.H. (1994) Substring Matching for Clone Detection and Change Tracking. In the Proceedings of the International Conference on Software Maintenance, Victoria, Canada, pp. 120–126

    Google Scholar 

  32. Kamiya T., Kusumoto S., Inoue K. (2002) CCFinder: A Multilinguistic Token- Based Code Clone Detection System for Large Scale Source Code. IEEE Transactions On Software Engineering 28(7): 654–670

    Article  Google Scholar 

  33. Kontogiannis K. (1997) Evaluation Experiments on the Detection of Programming Patterns Using Software Metrics. In the Proceedings of the 4th Working Conference on Reverse Engineering, Amsterdam, The Netherlands, pp. 44–54

    Google Scholar 

  34. Krinke J. (2001) Identifying Similar Code with Program Dependence Graphs. In the Proceedings of the 8th Working Conference on Reverse Engineering, Stuttgart, Germany, pp. 301–309

    Google Scholar 

  35. Lague B., Proulx D., Mayrand J., Merlo E.M., Hudepohl J. (1997) Assessing the Benefits of Incorporating Function Clone Detection in a Development Process. In the Proceedings of the International Conference on Software Maintenance, Bari, Italy, pp. 314–321

    Google Scholar 

  36. Lanzi P.L., Matera M., Maurino A. (2004) A Framework for Exploiting Conceptual Modeling in the Evaluation of Web Application Quality. In the Proceedings of the International Conference of Web Engineering-ICWE'04, LNCS 3140, Springer Verlag Publ, Munich, Germany, July 2004

    Google Scholar 

  37. Manber U. (1994) Finding Similar Files in a Large File System. In the Proceedings of the USENIX Winter 1994 Technical Conference, San Francisco, USA, pp. 1–10

    Google Scholar 

  38. Mayrand J., Leblanc C., Merlo E.M. (1996) Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics. In the Proceedings of the International Conference on Software Maintenance, Monterey, USA, pp. 244–254

    Google Scholar 

  39. Mens T., Demeyer S., Du Bois B., Stenten H., Van Gorp P. (2003) Refactoring: Current research and future trends. In the Proceedings of the 3rd Workshop on Language Descriptions, Tools and Applications (LDTA 2003), April 6, Warsaw, Poland

    Google Scholar 

  40. Mens T, Tourwe, T. (2004) A survey of software refactoring. IEEE Transactions on Software Engineering, 30(2): 126–139

    Article  Google Scholar 

  41. Ricca F., Tonella P. (2003) Using Clustering to Support the Migration from Static to Dynamic Web Pages. In the Proceedings of the 11th International Workshop on Program Comprehension, Portland, USA, pp. 207–216

    Google Scholar 

  42. Rieger M., Ducasse S. (1998) Visual Detection of Duplicated Code. In the Proceedings of the Workshop on Experiences in Object-Oriented Re-Engineering, Brussels, Belgium, pp. 75–76

    Google Scholar 

  43. Roberts D. (1999) Practical Analysis for Refactoring. Ph.D. thesis, University of Illinois at Urbana-Champaign

    Google Scholar 

  44. Sakkopoulos E., Sirmakessis S., Tsakalidis A., Tzimas G. (2005) A Methodology for Evaluating the Personalization Conceptual Schema of a Web Application. in the Proceedings of the 11th International Conference on Human-Computer Interaction (HCI International 2005), July 22–27, Las Vegas, Nevada, USA

    Google Scholar 

  45. Schwabe D., Rossi G. (1998) An object-oriented approach to web-based application design. Theory and Practice of Object Systems (TAPOS) 4(4): 207–225

    Article  Google Scholar 

  46. Wang C., Wang W., Pei J., Zhu Y., Shi B. (2004) Scalable Mining of Large Disk-based Graph Databases. In the Proceedings of ACM KDD04, pp. 316–325

    Google Scholar 

  47. WebRatio (2005), available at: http://wwwwebratiocom

    Google Scholar 

  48. Yan X., Han J. (2002) gSpan: Graph-based substructure pattern mining. In the Proceedings of International Conference on Data Mining (ICDM'02), Maebashi, pp. 721–724

    Google Scholar 

  49. Yan X., Han J. (2003) CloseGraph: mining closed frequent graph patterns. In the Proceedings of ACM KDD03, pp. 286–295

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer

About this chapter

Cite this chapter

Rigou, M., Sirmakessis, S., Tzimas, G. (2006). Model Cloning: A Push to Reuse or a Disaster?. In: Sirmakessis, S. (eds) Adaptive and Personalized Semantic Web. Studies in Computational Intelligence, vol 14. Springer, Berlin, Heidelberg . https://doi.org/10.1007/3-540-33279-0_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-33279-0_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30605-4

  • Online ISBN: 978-3-540-33279-4

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics