Skip to main content

On Software Maintenance Process Improvement Based on Code Clone Analysis

  • Conference paper
  • First Online:
Product Focused Software Process Improvement (PROFES 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2559))

Abstract

Maintaining software systems is getting more complex and difficult task. Code clone is one of the factors that make software maintenance more difficult. A code clone is a code portion in source files that is identical or similar to another. If some faults are found in a code clone, it is necessary to correct the faults in its all code clones. We have developed a maintenance support environment, Gemini, which provides the user with the useful functions to analyze the code clones and modify them. However, through case studies, several problems were reported. That is, the clones provided by Gemini were not appropriate to merge into one module. In this paper, we intend to extend the functionality of Gemini to cope with the problems. Finally, we apply the extended Gemini to several software and evaluate the applicability of the new functions.

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. B. S. Baker, A Program for Identifying Duplicated Code, Computing Science and Statistics, 24:49–57, 1992.

    Google Scholar 

  2. B. S. Baker, On Finding Duplication and Near-Duplication in Large Software Systems, Proc. IEEE Working Conf. on Reverse Engineering, pages 86–95, July 1995.

    Google Scholar 

  3. B. S. Baker, Parameterized Duplication in Strings: Algorithms and an Application to Software Maintenance, SIAM Journal on Computing, 26(5):1343–1362, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  4. I.D. Baxter, A. Yahin, L. Moura, M. Sant'Anna, and L. Bier, Clone Detection Using Abstract Syntax Trees, Proc. IEEE Int’l Conf. on Software Maintenance (ICSM)’ 98, pages 368–377, Bethesda, Maryland, Nov. 1998.

    Google Scholar 

  5. S. Ducasse, M. Rieger, and S. Demeyer, A Language Independent Approach for Detecting Duplicated Code, Proc. of IEEE Int’l Conf. on Software Maintenance (ICSM)’ 99, pages 109–118, Oxford, England, Aug. 1999.

    Google Scholar 

  6. M. Fowler, Refactoring: improving the design of existing code, Addison Wesley, 1999.

    Google Scholar 

  7. D. Gusfield, Algorithms on Strings, Trees, And Sequences, Cambridge University Press, 1997.

    Google Scholar 

  8. J. Helfman, Dotplot Patterns: a Literal Look at Pattern Languages, TAPOS, 2(1):31–1,1995.

    Google Scholar 

  9. J. H. Johnson, Identifying Redundancy in Source Code using Fingerprints, Proc. of CASCON’ 93, pages 171–183, Toronto, Ontario, 1993.

    Google Scholar 

  10. T. Kamiya, S. Kusumoto, and K. Inoue, CCFinder: A multi-linguistic tokenbased code clone detection system for large scale source code, IEEE Transactions on Software Engineering, 28(7):654–670, 2002.

    Article  Google Scholar 

  11. R. Komondoor and S. Horwitz, Using slicing to identify duplication in source code, Proc. of the 8th International Symposium on Static Analysis, Paris, France, July 16–18, 2001.

    Google Scholar 

  12. Jens Krinke, Identifying Similar Code with Program Dependence Graphs, Proc. of the 8th Working Conference on Reverse Engineering, 2001.

    Google Scholar 

  13. J. Mayland, C. Leblanc, and E. M. Merlo, Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics, Proc. of IEEE Int’l Conf. on Software Maintenance (ICSM)’ 96, pages 244–253, Monterey, California, Nov. 1996.

    Google Scholar 

  14. L. Prechelt, G. Malpohl, M. Philippsen, Finding plagiarisms among a set of programs with JPlag, submitted to Journal of Universal Computer Science, Nov. 2001, taken from http://wwwipd.ira.uka.de/~prechelt/Biblio/.

  15. M. Rieger, S. Ducasse, Visual Detection of Duplicated Code, 1998.

    Google Scholar 

  16. Pigoski T. M, Maintenance, Encyclopedia of Software Engineering, 1, John Wiley & Sons, 1994.

    Google Scholar 

  17. Y. Ueda, T. Kamiya, S. Kusumoto, K. Inoue, Gemini: Maintenance Support Environment Based on Code Clone Analysis, 8th International Symposium on Software Metrics, pages 67–76, June 4-7, 2002.

    Google Scholar 

  18. Y. Ueda, T. Kamiya, S. Kusumoto, K. Inoue, On Detection of Gapped Code Clones using Gap Locations, 9th Asia-Pacific Software Engineering Conference, 2002, (to appear).

    Google Scholar 

  19. S. W. L. Yip and T. Lam, A software maintenance survey, Proc. of APSEC’ 94, pages 70–79, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Higo, Y., Ueda, Y., Kamiya, T., Kusumoto, S., Inoue, K. (2002). On Software Maintenance Process Improvement Based on Code Clone Analysis. In: Oivo, M., Komi-Sirviö, S. (eds) Product Focused Software Process Improvement. PROFES 2002. Lecture Notes in Computer Science, vol 2559. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36209-6_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-36209-6_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00234-5

  • Online ISBN: 978-3-540-36209-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics