Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Core J2EE Patterns: Best Practices and Design Strategies
Core J2EE Patterns: Best Practices and Design Strategies
Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Gemini: Maintenance Support Environment Based on Code Clone Analysis
METRICS '02 Proceedings of the 8th International Symposium on Software Metrics
Reverse Engineering to Achieve Maintainable WWW Sites
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Using Clustering to Support the Migration from Static to Dynamic Web Pages
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Comprehending Reality " Practical Barriers to Industrial Adoption of Software Maintenance Automation
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Web Site Reuse: Cloning and Adapting
WSE '01 Proceedings of the 3rd International Workshop on Web Site Evolution (WSE'01)
Refactoring Web sites to the Controller-Centric Architecture
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Reengineering Web Applications Based on Cloned Pattern Analysis
IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
Effective Software Maintenance
Effective Software Maintenance
An empirical study of code clone genealogies
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Industrial experience with building a web portal product line using a lightweight, reactive approach
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
"Cloning Considered Harmful" Considered Harmful
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Using Server Pages to Unify Clones in Web Applications: A Trade-Off Analysis
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Evaluating the Harmfulness of Cloning: A Change Based Experiment
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Clone Detection via Structural Abstraction
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
A Study of Consistent and Inconsistent Changes to Code Clones
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Journal of Web Engineering
An investigation of cloning in web applications
ICWE'05 Proceedings of the 5th international conference on Web Engineering
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Hi-index | 0.00 |
Server pages (also called dynamic pages) render a generic web page into many similar ones. The technique is commonly used for implementing web application user interfaces (UIs). Yet our previous study found a high rate of repetitions (also called ‘clones’) in web applications, particularly in UIs. The finding raised the question as to why such repetitions had not been averted with the use of server pages. For an answer, we conducted an experiment using PHP server pages to explore how far server pages can be pushed to achieve generic web applications. Our initial findings suggested that generic representation obtained using server pages sometimes compromises certain important system qualities such as run-time performance. It may also complicate the use of WYSIWYG editors. We have analysed the nature of these trade-offs, and now propose a mixed-strategy approach to obtain optimum generic representation of web applications without unnecessary compromise to critical system qualities and user experience. The mixed-strategy approach applies the generative technique of XVCL to achieve genericity at the meta-level representation of a web application, leaving repetitions to the actual web application. Our experiments show that the mixed-strategy approach can achieve a good level of genericity without conflicting with other system qualities. Our findings should open the way for others to better-informed decisions regarding generic design solutions, which should in turn lead to simpler, more maintainable and more reusable web applications. Copyright © 2008 John Wiley & Sons, Ltd.