Advertisement

An Investigation of Cloning in Web Applications

  • Damith C. Rajapakse
  • Stan Jarzabek
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3579)

Abstract

Cloning (ad hoc reuse by duplication of design or code) speeds up development, but also hinders future maintenance. Cloning also hints at reuse opportunities that, if exploited systematically, might have positive impact on development and maintenance productivity. Unstable requirements and tight schedules pose unique challenges for Web Application engineering that encourage cloning. We conducted a systematic study of cloning in 17 Web Applications of different sizes, developed using a range of Web technologies, and serving diverse purposes. We found cloning rates 17-63% in both newly developed and already maintained Web Applications. Contribution of this paper is two-fold: (1) our results confirm potential benefits of reuse-based methods in addressing the key challenges of Web engineering, and (2) a framework of metrics and presentation views that we defined and applied in our study may be useful in other similar studies.

Keywords

Clone Detection Code Clone Cloning Level File Similarity Server Side Script 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Baxter, I., Yahin, A., Moura, L., Anna, M.S.: Clone detection using abstract syntax trees. In: Proc. Intl. Conference on Software Maintenance (ICSM 1998), pp. 368–377 (1998)Google Scholar
  2. 2.
    Burd, E., Bailey, J.: Evaluating Clone Detection Tools for Use during Preventative Maintenance. In: Second IEEE Intl. Workshop on Source Code Analysis and Manipulation (SCAM 2002), pp. 36–43 (2002)Google Scholar
  3. 3.
    De Lucia, A., Scanniello, G., Tortora, G.: Identifying Clones in Dynamic Web Sites Using Similarity Thresholds. In: Proc. Intl. Conf. on Enterprise Information Systems (ICEIS 2004), pp. 391–396 (2004)Google Scholar
  4. 4.
    Di Lucca, G.A., Di Penta, M., Fasolino, A.R.: An approach to identify duplicated web pages. In: Proc. 26th Annual Intl. Computer Software and Applications Conference (COMPSAC 2002), pp. 481–486 (2002)Google Scholar
  5. 5.
    Di Lucca, G.A., Di Penta, M., Fasilio, A.R., Granato, P.: Clone analysis in the web era: An approach to identify cloned web pages. In: Seventh IEEE Workshop on Empirical Studies of Software Maintenance (WESS 2001), pp. 107–113 (2001)Google Scholar
  6. 6.
    Lanubile, F., Mallardo, T.: Finding function clones in Web applications. In: Proc. Seventh European Conference on Software Maintenance and Reengineering (CSMR 2003), pp. 379–386 (2003)Google Scholar
  7. 7.
    Marcus, A., Maletic, J.I.: Identification of High-Level Concept Clones in Source Code. In: Proc. Automated Software Engineering, pp. 107–114 (2001)Google Scholar
  8. 8.
    Jarzabek, S., Shubiao, L.: Eliminating Redundancies with a Composition with Adaptation, Meta-programming Technique. In: Proc. European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESECFSE 2003), pp. 237–246 (2003)Google Scholar
  9. 9.
    Kamiya, T., Kusumoto, S., Inoue, K.: CCFinder: A multi-linguistic token-based code clone detection system for large scale source code. IEEE Trans. Software Engineering 28(7), 654–670 (2002)CrossRefGoogle Scholar
  10. 10.
    Kapser, C., Godfrey, M.W.: Toward a taxonomy of clones in source code: A case study, In: Evolution of Large Scale Industrial Software Architectures (2003)Google Scholar
  11. 11.
    Ricca, F., Tonella, P.: Using clustering to support the migration from static to dynamic web pages. In: Proc. 11th IEEE International Workshop on Program Comprehension (IWPC 2003), pp. 207–216 (2003)Google Scholar
  12. 12.
    Synytskyy, N., Cordy, J.R., Dean, T.: Resolution of static clones in dynamic Web pages. In: Proc. Fifth IEEE Intl. Workshop on Web Site Evolution (IWSE 2003), pp. 49–56 (2003)Google Scholar
  13. 13.
    Ueda, Y., Kamiya, T., Kusumoto, S., Inoue, K.: Gemini: Maintenance Support Environment Based on Code Clone Analysis. In: Proc. Eighth IEEE Symposium on Software Metrics, pp. 67–76 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Damith C. Rajapakse
    • 1
  • Stan Jarzabek
    • 1
  1. 1.Department of Computer Science, School of ComputingNational University of Singapore 

Personalised recommendations