Partial redesign of Java software systems based on clone analysis

作者: M. Balazinska , E. Merlo , M. Dagenais , B. Lague , K. Kontogiannis

DOI: 10.1109/WCRE.1999.806971

关键词: Source codeSoftware design patternSoftware maintenanceSoftware systemJavaSoftwareComputer scienceMaintainabilitySoftware engineeringStrategy pattern

摘要: Code duplication, plausibly caused by copying source code and slightly modifying it, is often observed in large systems. Clone detection documentation have been investigated several researchers past years. Recently, research focus has shifted towards the investigation of software process restructuring actions based on clone detection. The paper presents a new redesign approach developed for Java factorizes common parts cloned methods parameterizes their differences using strategy design pattern. entities created such transformations are also decoupled from original contexts use, thus facilitating reuse increasing maintainability. applicability automation technique presented verified partially redesigning JDK 1.1.5.

参考文章(13)
Ravi Sethi, Jeffrey D. Ullman, Alfred V. Aho, Compilers: Principles, Techniques, and Tools ,(1986)
J. Howard Johnson, Identifying redundancy in source code using fingerprints conference of the centre for advanced studies on collaborative research. pp. 171- 183 ,(1993)
Scott R. Tilley, Hausi A. Müller, Kenny Wong, Understanding software systems using reverse engineering technology perspectives from the Rigi project conference of the centre for advanced studies on collaborative research. pp. 217- 226 ,(1993)
Richard Helm, John Vlissides, Ralph Johnson, Erich Gamma, Design Patterns: Elements of Reusable Object-Oriented Software ,(1994)
Linda M. Wills, Automated Program Recognition by Graph Parsing Defense Technical Information Center. ,(1992) , 10.21236/ADA259609
Mayrand, Leblanc, Merlo, Experiment on the automatic detection of function clones in a software system using metrics international conference on software maintenance. pp. 244- 253 ,(1996) , 10.1109/ICSM.1996.565012
M. Balazinska, E. Merlo, M. Dagenais, B. Lague, K. Kontogiannis, Measuring clone based reengineering opportunities ieee international software metrics symposium. pp. 292- 303 ,(1999) , 10.1109/METRIC.1999.809750
K. A. Kontogiannis, R. Demori, E. Merlo, M. Galler, M. Bernstein, Pattern matching for clone and concept detection automated software engineering. ,vol. 3, pp. 77- 108 ,(1996) , 10.1007/BF00126960
Jim Q. Ning, Andre Engberts, W. Voytek Kozaczynski, Automated support for legacy code understanding Communications of The ACM. ,vol. 37, pp. 50- 57 ,(1994) , 10.1145/175290.175295
P.H. Newcomb, M. Scott, Requirements for advanced Year 2000 maintenance tools IEEE Computer. ,vol. 30, pp. 52- 57 ,(1997) , 10.1109/2.573658