Skip to main content

2021 | OriginalPaper | Buchkapitel

From Simple to Structural Clones: Tapping the Benefits of Non-redundancy

verfasst von : Stan Jarzabek

Erschienen in: Enterprise Information Systems

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Similarities are common in software. We observe them at all levels, from software requirements, to design, to program code and to other software artifacts such as models or test cases. Similar program parts are termed code clones. Detection of clones in code, as well as methods to achieve non-redundancy in programs have been an active area of research for last decades. In this chapter, I discuss sources of redundancies, variety of forms of their manifestation, software productivity benefits that can be gained by avoiding clones, and difficulties to realize these benefits with conventional programming languages and design techniques. I point to generative techniques as a promising approach to tap the benefits of non-redundancy. Research so far has mainly focused on detection of similar code fragments, so-called simple clones. The knowledge and possible unification of simple clones can help in maintenance. Still, further gains can be obtained by elevating the level of software similarity analysis to the design-level, larger granularity similar program structures, such as recurring architecture-level patterns of collaborating components. Recurring patterns of simple clones often indicate the presence of interesting higher-level similarities that we call structural clones. Detection of structural clones can help in understanding the design of a system for quality assessment, better maintenance and re-engineering, opening new options for design recovery (reverse engineering) which has been an active area of research for last 25 years, with only limited impact on software practice. In this paper, I broadly discuss the landscape of clone research, with particular emphasis on structural clones (This study was supported by the grant of WZ/WI-IIT/3/2020 from Bialystok University of Technology and founded from the resources for research by Ministry of Science and Higher Education, Poland.)

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
Adaptive Reuse Technology, https://​art-processor.​org.
 
Literatur
3.
Zurück zum Zitat Baker, B.S.: On finding duplication and near-duplication in large software systems. In: Proceedings of 2nd Working Conference on Reverse Engineering, pp. 86–95 (1995) Baker, B.S.: On finding duplication and near-duplication in large software systems. In: Proceedings of 2nd Working Conference on Reverse Engineering, pp. 86–95 (1995)
4.
Zurück zum Zitat Bassett, P.: Framing Software Reuse – Lessons from Real World. Yourdon Press, Prentice Hall (1997) Bassett, P.: Framing Software Reuse – Lessons from Real World. Yourdon Press, Prentice Hall (1997)
5.
Zurück zum Zitat Basit, H.A., Jarzabek, S.: Detecting higher-level similarity patterns in programs. In: Proceedings of European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 156–165 (2005) Basit, H.A., Jarzabek, S.: Detecting higher-level similarity patterns in programs. In: Proceedings of European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 156–165 (2005)
6.
Zurück zum Zitat Basit, H.A., Jarzabek, S.: Data mining approach for detecting higher-level clones in software. IEEE Trans. on Soft. Eng. 35(4), 497–514 (2009)CrossRef Basit, H.A., Jarzabek, S.: Data mining approach for detecting higher-level clones in software. IEEE Trans. on Soft. Eng. 35(4), 497–514 (2009)CrossRef
7.
Zurück zum Zitat Basit, H., Puglisi, S., Smyth, W., Turpin, A., Jarzabek, S.: Efficient token based clone detection with flexible tokenization. In: ESEC-FSE'07, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, Dubrovnik, pp. 513–516, September 2007 Basit, H., Puglisi, S., Smyth, W., Turpin, A., Jarzabek, S.: Efficient token based clone detection with flexible tokenization. In: ESEC-FSE'07, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, Dubrovnik, pp. 513–516, September 2007
8.
Zurück zum Zitat Basit, H.A., Rajapakse, D.C., Jarzabek, S.: Beyond templates: a study of clones in the STL and some general implications. In: Proceedings of the 28th International Conference on Software Engineering (ICSE 2005), pp. 451–459 (2005) Basit, H.A., Rajapakse, D.C., Jarzabek, S.: Beyond templates: a study of clones in the STL and some general implications. In: Proceedings of the 28th International Conference on Software Engineering (ICSE 2005), pp. 451–459 (2005)
9.
Zurück zum Zitat Batory, D., Singhai, V., Sirkin, M., Thomas, J.: Scalable software libraries. In ACM SIGSOFT’93: Symposium on the Foundations of Software Engineering, Los Angeles, California, pp. 191–199 (1993) Batory, D., Singhai, V., Sirkin, M., Thomas, J.: Scalable software libraries. In ACM SIGSOFT’93: Symposium on the Foundations of Software Engineering, Los Angeles, California, pp. 191–199 (1993)
10.
Zurück zum Zitat Baxter, I., Yahin, A., Moura, L., Anna, M.S.: Clone detection using abstract syntax trees. In: Proceedings of International Conference on Software Maintenance (ICSM 1998), pp. 368–377 (1998) Baxter, I., Yahin, A., Moura, L., Anna, M.S.: Clone detection using abstract syntax trees. In: Proceedings of International Conference on Software Maintenance (ICSM 1998), pp. 368–377 (1998)
11.
Zurück zum Zitat Belkhouche, B., Nix, A., Hassell, J.: Plagiarism detection in software designs. In: ACM Southeast 42nd Regional Conference, Huntsville, Alabama, USA, pp. 207–211, April 2004 Belkhouche, B., Nix, A., Hassell, J.: Plagiarism detection in software designs. In: ACM Southeast 42nd Regional Conference, Huntsville, Alabama, USA, pp. 207–211, April 2004
12.
Zurück zum Zitat Baker, B.: A program for identifying duplicated code. In: Proceedings of Computing Science and Statistics: 24th Symposium on the Interface, vol. 24, p. 4957, March 1992 Baker, B.: A program for identifying duplicated code. In: Proceedings of Computing Science and Statistics: 24th Symposium on the Interface, vol. 24, p. 4957, March 1992
13.
Zurück zum Zitat Brooks, F.: The Mythical Man-Month. Addison Wesley, Boston (1995) Brooks, F.: The Mythical Man-Month. Addison Wesley, Boston (1995)
14.
Zurück zum Zitat Brooks, F.P.: No silver bullet 1986. In: Kugler, H.K. (ed.) Proceedings of IFIP 10th World Computing Conference. Elsevier Science, pp. 1069–1076 (1986) Brooks, F.P.: No silver bullet 1986. In: Kugler, H.K. (ed.) Proceedings of IFIP 10th World Computing Conference. Elsevier Science, pp. 1069–1076 (1986)
15.
Zurück zum Zitat Burd, E., Bailey, J.: Evaluating clone detection tools for use during preventative maintenance. In: Proceedings of the 2nd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2002), Montreal, Canada, pp. 36–43, October 2002 Burd, E., Bailey, J.: Evaluating clone detection tools for use during preventative maintenance. In: Proceedings of the 2nd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2002), Montreal, Canada, pp. 36–43, October 2002
16.
Zurück zum Zitat Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2002) Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2002)
18.
Zurück zum Zitat Cordy, J.R.: Comprehending reality: practical challenges to software maintenance automation. In: Proceedings of the 11th International Workshop on Program Comprehension, pp. 196–206 (2003) Cordy, J.R.: Comprehending reality: practical challenges to software maintenance automation. In: Proceedings of the 11th International Workshop on Program Comprehension, pp. 196–206 (2003)
19.
Zurück zum Zitat Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston (2000) Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston (2000)
20.
Zurück zum Zitat Dagenais, M., Merlo, E., LaguÄe, B., Proulx, D.: Clones occurrence in large object oriented software packages. In: Proceedings of the 8th IBM Centre for Advanced Studies Conference (CASCON 1998), Toronto, Ontario, Canada, p. 192200, October 1998 Dagenais, M., Merlo, E., LaguÄe, B., Proulx, D.: Clones occurrence in large object oriented software packages. In: Proceedings of the 8th IBM Centre for Advanced Studies Conference (CASCON 1998), Toronto, Ontario, Canada, p. 192200, October 1998
22.
Zurück zum Zitat De Lucia, A., Scanniello, G., Tortora, G: Identifying clones in dynamic web sites using similarity thresholds. In: Proceedings of the International Conference on Enterprise Information Systems (ICEIS 2004), pp. 391–396 (2004) De Lucia, A., Scanniello, G., Tortora, G: Identifying clones in dynamic web sites using similarity thresholds. In: Proceedings of the International Conference on Enterprise Information Systems (ICEIS 2004), pp. 391–396 (2004)
23.
Zurück zum Zitat Ducasse, S., Rieger, M., Demeyer, S.: A language independent approach for detecting duplicated code. In: Proceedings of the 15th International Conference on Software Maintenance (ICSM 1999), Oxford, England, pp. 109–118, September 1999 Ducasse, S., Rieger, M., Demeyer, S.: A language independent approach for detecting duplicated code. In: Proceedings of the 15th International Conference on Software Maintenance (ICSM 1999), Oxford, England, pp. 109–118, September 1999
24.
Zurück zum Zitat Fowler, M.: Analysis Patterns: Reusable Object Models. Addison-Wesley Fowler M. 1999. Refactoring - improving the design of existing code. Addison-Wesley, Boston (1997) Fowler, M.: Analysis Patterns: Reusable Object Models. Addison-Wesley Fowler M. 1999. Refactoring - improving the design of existing code. Addison-Wesley, Boston (1997)
25.
Zurück zum Zitat Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software, Addison-Wesley, Boston (1995) Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software, Addison-Wesley, Boston (1995)
26.
Zurück zum Zitat Garcia, R., et al.: A comparative study of language support for generic programming. In: Proceedings of the 18th ACM SIGPLAN Conference on Object-Oriented Program, Systems, Languages, and Applications, pp. 115–134 (2003) Garcia, R., et al.: A comparative study of language support for generic programming. In: Proceedings of the 18th ACM SIGPLAN Conference on Object-Oriented Program, Systems, Languages, and Applications, pp. 115–134 (2003)
27.
Zurück zum Zitat Gitchell, D., Tran, N.: Sim: a utility for detecting similarity in computer programs. ACM SIGCSE Bull. 31(1), 266–270 (1999)CrossRef Gitchell, D., Tran, N.: Sim: a utility for detecting similarity in computer programs. ACM SIGCSE Bull. 31(1), 266–270 (1999)CrossRef
28.
Zurück zum Zitat Goguen, J.A.: Parameterized programming. IEEE Trans. Softw. Eng. SE-10(5), 528–543 (1984) Goguen, J.A.: Parameterized programming. IEEE Trans. Softw. Eng. SE-10(5), 528–543 (1984)
29.
Zurück zum Zitat Gray, J. (ed.): Data Mining: Concepts and Techniques. Series Editor Morgan Kaufmann Publishers, Burlington, March 2006 Gray, J. (ed.): Data Mining: Concepts and Techniques. Series Editor Morgan Kaufmann Publishers, Burlington, March 2006
31.
Zurück zum Zitat Jarząbek, S.: Software similarity patterns and clones: a curse or blessing? In: Joaquim, F., et al. (ed.) Proceedings of the 22nd International Conference on Enterprise Information Systems, vol. 1, pp. 5–17 (2020). ISBN 978-989-758-423-7. https://doi.org/10.5220/0009820000050017 Jarząbek, S.: Software similarity patterns and clones: a curse or blessing? In: Joaquim, F., et al. (ed.) Proceedings of the 22nd International Conference on Enterprise Information Systems, vol. 1, pp. 5–17 (2020). ISBN 978-989-758-423-7. https://​doi.​org/​10.​5220/​0009820000050017​
32.
Zurück zum Zitat Jarzabek, S.: Effective Software Maintenance and Evolution: Reused-based Approach. CRC Press, Taylor and Francis (2007) Jarzabek, S.: Effective Software Maintenance and Evolution: Reused-based Approach. CRC Press, Taylor and Francis (2007)
33.
Zurück zum Zitat Jarzabek, S., Shubiao, L.: Eliminating redundancies with a composition with adaptation meta-programming technique. In: Proceedings European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC-FSE 2003), pp. 237–246 (2003) Jarzabek, S., Shubiao, L.: Eliminating redundancies with a composition with adaptation meta-programming technique. In: Proceedings European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC-FSE 2003), pp. 237–246 (2003)
34.
Zurück zum Zitat Jarzabek, S., Li, S.: Unifying clones with a generative programming technique: a case study. J. Softw. Maintenance Evol. Res. Pract. 18(4), 267–292. John Wiley & Sons (2006) Jarzabek, S., Li, S.: Unifying clones with a generative programming technique: a case study. J. Softw. Maintenance Evol. Res. Pract. 18(4), 267–292. John Wiley & Sons (2006)
35.
Zurück zum Zitat Kamiya, T., Kusumoto, S., Inoue, K.: CCFinder: a multi-linguistic token-based code clone detection system for large scale source code. IEEE Trans. Softw. Eng. 28(7), 654–670 (2002)CrossRef Kamiya, T., Kusumoto, S., Inoue, K.: CCFinder: a multi-linguistic token-based code clone detection system for large scale source code. IEEE Trans. Softw. Eng. 28(7), 654–670 (2002)CrossRef
36.
Zurück zum Zitat 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) 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)
37.
Zurück zum Zitat Kapser, C., Godfrey, M.W.: Cloning considered harmful’ considered harmful. In: Proceedings of the 13th Working Conference on Reverse Engineering, pp. 19–28 (2006) Kapser, C., Godfrey, M.W.: Cloning considered harmful’ considered harmful. In: Proceedings of the 13th Working Conference on Reverse Engineering, pp. 19–28 (2006)
39.
Zurück zum Zitat Kim, M., Sazawai, V., Notkin, D., Murphy, G.: An empirical study of code clone genealogies. ACM SIGSOFT Softw. Eng. Notes 30(5), 187–196 (2005)CrossRef Kim, M., Sazawai, V., Notkin, D., Murphy, G.: An empirical study of code clone genealogies. ACM SIGSOFT Softw. Eng. Notes 30(5), 187–196 (2005)CrossRef
40.
Zurück zum Zitat Kim, M., Bergman, L., Lau, T., Notkin, D.: An ethnographic study of copy and paste programming practices in OOPL. In: Proceedings of International Symposium on Empirical Software Engineering. ISESE 2004, Redondo Beach, California, pp. 83–92 (2004) Kim, M., Bergman, L., Lau, T., Notkin, D.: An ethnographic study of copy and paste programming practices in OOPL. In: Proceedings of International Symposium on Empirical Software Engineering. ISESE 2004, Redondo Beach, California, pp. 83–92 (2004)
42.
Zurück zum Zitat Kontogiannis, K., DeMori, E., Galler, M.M., Bernstein, M.: Pattern matching for clone and concept detection. In: Automated Software Engineering, vol. 3(1–2), 77–108, June 1996 Kontogiannis, K., DeMori, E., Galler, M.M., Bernstein, M.: Pattern matching for clone and concept detection. In: Automated Software Engineering, vol. 3(1–2), 77–108, June 1996
43.
Zurück zum Zitat Koschke, K., Falke, R., Frenzel, P.: Clone detection using abstract syntax suffix trees. In: Proceedings of the 13th Working Conference on Reverse Engineering (WCRE 2006), pp. 253–262, Benevento, Italy, October 2006 Koschke, K., Falke, R., Frenzel, P.: Clone detection using abstract syntax suffix trees. In: Proceedings of the 13th Working Conference on Reverse Engineering (WCRE 2006), pp. 253–262, Benevento, Italy, October 2006
44.
Zurück zum Zitat Krinke, J.: Identifying similar code with program dependence graphs. In: Proceedings 8th Working Conference on Reverse Engineering, pp. 301–309 (2001) Krinke, J.: Identifying similar code with program dependence graphs. In: Proceedings 8th Working Conference on Reverse Engineering, pp. 301–309 (2001)
45.
Zurück zum Zitat Kumar, K., Jarzabek, S., Dan, D.: Managing big clones to ease evolution: Linux kernel example. In: Federated Conference on Computer Science and Information Systems, FedCSIS, 36th IEEE Software Eng. Workshop, pp. 1767–1776 (2016) Kumar, K., Jarzabek, S., Dan, D.: Managing big clones to ease evolution: Linux kernel example. In: Federated Conference on Computer Science and Information Systems, FedCSIS, 36th IEEE Software Eng. Workshop, pp. 1767–1776 (2016)
46.
Zurück zum Zitat Levenshtein, I.: Binary codescapable of correcting deletions, insertions and reversals. Cybern. Control Theory 10(8), 707–710 (1966) Levenshtein, I.: Binary codescapable of correcting deletions, insertions and reversals. Cybern. Control Theory 10(8), 707–710 (1966)
47.
Zurück zum Zitat Liu, C., Chen, C., Han, J., Yu, P.S.: GPLAG: detection of software plagiarism by program dependence graph analysis. In: Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2006), Philadelphia, USA, pp. 872–881, August 2006 Liu, C., Chen, C., Han, J., Yu, P.S.: GPLAG: detection of software plagiarism by program dependence graph analysis. In: Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2006), Philadelphia, USA, pp. 872–881, August 2006
48.
Zurück zum Zitat Madhavji, N.: Compare: a collusion detector for Pascal. Techniques et Sciences Informatiques 4(6), 489497 (1985) Madhavji, N.: Compare: a collusion detector for Pascal. Techniques et Sciences Informatiques 4(6), 489497 (1985)
49.
Zurück zum Zitat Mining Software Repositories MSR, 5th Working Conference, 10–11 May, Leipzig, Germany (2008) Mining Software Repositories MSR, 5th Working Conference, 10–11 May, Leipzig, Germany (2008)
50.
Zurück zum Zitat Musser, D., Saini, A.: STL Tutorial and Reference Guide: C++ Programming with Standard Template Library. Addison-Wesley, Boston (1996) Musser, D., Saini, A.: STL Tutorial and Reference Guide: C++ Programming with Standard Template Library. Addison-Wesley, Boston (1996)
51.
Zurück zum Zitat Pettersson, U., Jarzabek, S.: An industrial application of a reuse technique to a web portal product line. In: ESEC-FSE 2005, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, ACM Press, Lisbon, pp. 326–335, September 2005 Pettersson, U., Jarzabek, S.: An industrial application of a reuse technique to a web portal product line. In: ESEC-FSE 2005, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, ACM Press, Lisbon, pp. 326–335, September 2005
52.
Zurück zum Zitat Prechelt, L., Malpohl, G., Philippsen, M.: Finding plagiarisms among a set of programs with JPlag. J. Univ. Comput. Sci. 8(11), 10161038 (2002) Prechelt, L., Malpohl, G., Philippsen, M.: Finding plagiarisms among a set of programs with JPlag. J. Univ. Comput. Sci. 8(11), 10161038 (2002)
53.
Zurück zum Zitat Rajapakse, D.C., Jarzabek, S.: Using server pages to unify clones in web applications: a trade-off analysis. In: International Conference on Software Engineering, ICSE 2007, Minneapolis, USA, May 2007 Rajapakse, D.C., Jarzabek, S.: Using server pages to unify clones in web applications: a trade-off analysis. In: International Conference on Software Engineering, ICSE 2007, Minneapolis, USA, May 2007
54.
Zurück zum Zitat Rajapakse, D., Jarzabek, S.: An investigation of cloning in web portals. In: International Conference on Web Eng, ICWE 2005, Sydney, pp. 252–262 (2005) Rajapakse, D., Jarzabek, S.: An investigation of cloning in web portals. In: International Conference on Web Eng, ICWE 2005, Sydney, pp. 252–262 (2005)
55.
Zurück zum Zitat Rajapakse, D., Jarzabek, S.: Towards generic representation of web applications: solutions and trade-offs. Softw. Pract. Experience 39(5), 501–530 (2009). Published Online: 27 November 2008 Rajapakse, D., Jarzabek, S.: Towards generic representation of web applications: solutions and trade-offs. Softw. Pract. Experience 39(5), 501–530 (2009). Published Online: 27 November 2008
56.
Zurück zum Zitat Roy, C., Cordy, J.R.: Scenario-based comparison of clone detection techniques. In: Proceedings ICPC 2008, IEEE International Conference on Program Comprehension, Amsterdam, pp. 153–162, June 2008 Roy, C., Cordy, J.R.: Scenario-based comparison of clone detection techniques. In: Proceedings ICPC 2008, IEEE International Conference on Program Comprehension, Amsterdam, pp. 153–162, June 2008
57.
Zurück zum Zitat Roy, C., Cordy, J.: A survey on software clone detection research. Technical Report 2007-541, School of Computing, Queen’s University, November 2007 Roy, C., Cordy, J.: A survey on software clone detection research. Technical Report 2007-541, School of Computing, Queen’s University, November 2007
58.
Zurück zum Zitat Schleimer, S., Wilkerson, S., Aiken, A.: Winnowing: local algorithms for document fingerprinting. In: Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data (SIGMOD 2003), San Diego, California, p. 7685, June 2003 Schleimer, S., Wilkerson, S., Aiken, A.: Winnowing: local algorithms for document fingerprinting. In: Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data (SIGMOD 2003), San Diego, California, p. 7685, June 2003
59.
Zurück zum Zitat Schmidt, D.: Model-driven engineering. IEEE Comput. 39, 25–31 (2006) Schmidt, D.: Model-driven engineering. IEEE Comput. 39, 25–31 (2006)
60.
Zurück zum Zitat Smyth, B.: Computing Patterns in Strings. Addison-Wesley, Boston (2003) Smyth, B.: Computing Patterns in Strings. Addison-Wesley, Boston (2003)
61.
Zurück zum Zitat Ueda, Y., Kamiya, T., Kusumoto, S., Inoue, K.: Gemini: maintenance support environment based on code clone analysis. In: Proceedings of the 8th IEEE Symposium on Software Metrics, pp. 67–76 (2002) Ueda, Y., Kamiya, T., Kusumoto, S., Inoue, K.: Gemini: maintenance support environment based on code clone analysis. In: Proceedings of the 8th IEEE Symposium on Software Metrics, pp. 67–76 (2002)
62.
Zurück zum Zitat Walenstein, A., Lakhotia, A., Koschke, R.: The second international workshop on detection of software clones: workshop report. SIGSOFT Software. Eng. Notes 29(2), 1–5 (2004)CrossRef Walenstein, A., Lakhotia, A., Koschke, R.: The second international workshop on detection of software clones: workshop report. SIGSOFT Software. Eng. Notes 29(2), 1–5 (2004)CrossRef
63.
Zurück zum Zitat Zhang, H., Jarzabek, S.: A mechanism for handling variants in software product lines. Spec. Issue Softw. Variability Manage. Sci. Comput. Program. 53(3), 255–436 (2004)MathSciNetMATH Zhang, H., Jarzabek, S.: A mechanism for handling variants in software product lines. Spec. Issue Softw. Variability Manage. Sci. Comput. Program. 53(3), 255–436 (2004)MathSciNetMATH
64.
Zurück zum Zitat Zhang, W., Jarzabek, S.: Reuse without compromising performance: experience from RPG software product line for mobile devices. In: 9th International Software Product Line Conference, SPLC 2005, Rennes, France, pp. 57–69, September 2005 Zhang, W., Jarzabek, S.: Reuse without compromising performance: experience from RPG software product line for mobile devices. In: 9th International Software Product Line Conference, SPLC 2005, Rennes, France, pp. 57–69, September 2005
65.
Zurück zum Zitat Zhang, Y., Basit, H., Jarzabek, S., Anh, D., Low, M.: Query-based filtering and graphical view generation for clone analysis. In: Proceedings 24th IEEE International Conference on Software Maintenance, ICSM 2008, Beijing, September 2008 Zhang, Y., Basit, H., Jarzabek, S., Anh, D., Low, M.: Query-based filtering and graphical view generation for clone analysis. In: Proceedings 24th IEEE International Conference on Software Maintenance, ICSM 2008, Beijing, September 2008
66.
Zurück zum Zitat Yamanaka, Y., Choi, E., Yoshida, N., Inoue, K., Sano, T.: Industrial application of clone change management system. In: Proceedings of the 6th International Workshop on Software Clones, IWSC, pp. 67–71 (2012) Yamanaka, Y., Choi, E., Yoshida, N., Inoue, K., Sano, T.: Industrial application of clone change management system. In: Proceedings of the 6th International Workshop on Software Clones, IWSC, pp. 67–71 (2012)
67.
Zurück zum Zitat Yang, J., Jarzabek, S.: Applying a generative technique for enhanced reuse on J2EE platform. In: 4th International Conference on Generative Programming and Component Engineering, GPCE 2005, 29 September–1 October 2005, Tallinn, pp. 237–255 (2005) Yang, J., Jarzabek, S.: Applying a generative technique for enhanced reuse on J2EE platform. In: 4th International Conference on Generative Programming and Component Engineering, GPCE 2005, 29 September–1 October 2005, Tallinn, pp. 237–255 (2005)
Metadaten
Titel
From Simple to Structural Clones: Tapping the Benefits of Non-redundancy
verfasst von
Stan Jarzabek
Copyright-Jahr
2021
DOI
https://doi.org/10.1007/978-3-030-75418-1_26