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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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
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
Baeza-Yates R., Ribeiro-Neto B. (1999) Modern Information Retrieval. Addison Wesley, ACM Press
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
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
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
Boehm B. (1981) Software Engineering Economics. Prentice Hall PTR
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
Booch G., Jacobson I., Rumbaugh J. (1998) The United Modeling Language User Guide. The Addison-Wesley Object Technology Series
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
Ceri S., Fraternali P., Bongio A., Brambilla M., Comai S., Matera M. (2002) Designing Data-Intensive Web Applications. Morgan Kauffmann
Chikofsky E., Cross J. (1990) Reverse engineering and design recovery: A taxonomy. IEEE Software 7(1): 3–17
Coleman D.M., Ash D., Lowther B., Oman, P.W. (1994) Using Metrics to Evaluate Software System Maintainability. Computer 27(8): 44–49
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
Conallen J. (1999) Modeling Web application architectures with UML. Communications of the ACM 42(10): 63–70
Conallen J. (1999) Building Web Applications with UML. Addison-Wesley, Reading MA
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
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
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
Fowler M., Beck K., Brant J., Opdyke W., Roberts, D. (1999) Refactoring: Improving the Design of Existing Code. The Addison-Wesley Object Technology Series
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
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
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
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
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
Garey M.R., Johnson D.S. (1979) Computers and Intractability: A guide to NP-Completeness. New York: Freeman
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
Guimaraes T. (1983) Managing Application Program Maintenance Expenditure. Communications of the ACM 26(10): 739–746
Isakowitz T., Sthor E.A., Balasubranian P. (1995) RMM: a methodology for structured hypermedia design. Communications of the ACM 38(8): 34–44
Johnson J.H. (1993) Identifying Redundancy in Source Code using Fingerprints. In the Proceedings of the CAS Conference, Toronto, Canada, pp. 171–183
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
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
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
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
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
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
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
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
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
Mens T, Tourwe, T. (2004) A survey of software refactoring. IEEE Transactions on Software Engineering, 30(2): 126–139
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
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
Roberts D. (1999) Practical Analysis for Refactoring. Ph.D. thesis, University of Illinois at Urbana-Champaign
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
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
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
WebRatio (2005), available at: http://wwwwebratiocom
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
Yan X., Han J. (2003) CloseGraph: mining closed frequent graph patterns. In the Proceedings of ACM KDD03, pp. 286–295
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)