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.
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
B. S. Baker, A Program for Identifying Duplicated Code, Computing Science and Statistics, 24:49–57, 1992.
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.
B. S. Baker, Parameterized Duplication in Strings: Algorithms and an Application to Software Maintenance, SIAM Journal on Computing, 26(5):1343–1362, 1997.
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.
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.
M. Fowler, Refactoring: improving the design of existing code, Addison Wesley, 1999.
D. Gusfield, Algorithms on Strings, Trees, And Sequences, Cambridge University Press, 1997.
J. Helfman, Dotplot Patterns: a Literal Look at Pattern Languages, TAPOS, 2(1):31–1,1995.
J. H. Johnson, Identifying Redundancy in Source Code using Fingerprints, Proc. of CASCON’ 93, pages 171–183, Toronto, Ontario, 1993.
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.
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.
Jens Krinke, Identifying Similar Code with Program Dependence Graphs, Proc. of the 8th Working Conference on Reverse Engineering, 2001.
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.
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/.
M. Rieger, S. Ducasse, Visual Detection of Duplicated Code, 1998.
Pigoski T. M, Maintenance, Encyclopedia of Software Engineering, 1, John Wiley & Sons, 1994.
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.
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).
S. W. L. Yip and T. Lam, A software maintenance survey, Proc. of APSEC’ 94, pages 70–79, 1994.
Author information
Authors and Affiliations
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