Unifying clones with a generative programming technique: a case study

Software clones—similar program structures repeated in variant forms—increase the risk of update anomalies, blow up the program size and complexity, possibly contributing to high maintenance costs. Yet, programs are often polluted by clones. In this paper, we present a case study of cloning in the J...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Journal of software maintenance and evolution Ročník 18; číslo 4; s. 267 - 292
Hlavní autoři: Jarzabek, Stan, Li, Shubiao
Médium: Journal Article
Jazyk:angličtina
Vydáno: Chichester, UK John Wiley & Sons, Ltd 01.07.2006
Témata:
ISSN:1532-060X, 1532-0618
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract Software clones—similar program structures repeated in variant forms—increase the risk of update anomalies, blow up the program size and complexity, possibly contributing to high maintenance costs. Yet, programs are often polluted by clones. In this paper, we present a case study of cloning in the Java Buffer library, JDK 1.5. We found that at least 68% of the code in the Buffer library was contained in cloned classes or class methods. Close analysis of program situations that led to cloning revealed difficulties in eliminating clones with conventional program design techniques. As a possible solution, we applied a generative technique of XVCL (XML‐based Variant Configuration Language) to represent similar classes and methods in generic, adaptable form. Concrete buffer classes could be automatically produced from the generic structures. We argue, on analytical and empirical grounds, that unifying clones reduced conceptual complexity and enhanced the changeability of the Buffer library at rates proportional to code size reduction (68%). We evaluated our solution in qualitative and quantitative ways, and conducted a controlled experiment to support this claim. The approach presented in the paper can be used to enhance genericity and changeability of any program, independently of an application domain or programming language. As the solution is not without pitfalls, we discuss trade‐offs involved in its project application. Copyright © 2006 John Wiley & Sons, Ltd.
AbstractList Software clones—similar program structures repeated in variant forms—increase the risk of update anomalies, blow up the program size and complexity, possibly contributing to high maintenance costs. Yet, programs are often polluted by clones. In this paper, we present a case study of cloning in the Java Buffer library, JDK 1.5. We found that at least 68% of the code in the Buffer library was contained in cloned classes or class methods. Close analysis of program situations that led to cloning revealed difficulties in eliminating clones with conventional program design techniques. As a possible solution, we applied a generative technique of XVCL (XML‐based Variant Configuration Language) to represent similar classes and methods in generic, adaptable form. Concrete buffer classes could be automatically produced from the generic structures. We argue, on analytical and empirical grounds, that unifying clones reduced conceptual complexity and enhanced the changeability of the Buffer library at rates proportional to code size reduction (68%). We evaluated our solution in qualitative and quantitative ways, and conducted a controlled experiment to support this claim. The approach presented in the paper can be used to enhance genericity and changeability of any program, independently of an application domain or programming language. As the solution is not without pitfalls, we discuss trade‐offs involved in its project application. Copyright © 2006 John Wiley & Sons, Ltd.
Software clones - similar program structures repeated in variant forms - increase the risk of update anomalies, blow up the program size and complexity, possibly contributing to high maintenance costs. Yet, programs are often polluted by clones. In this paper, we present a case study of cloning in the Java Buffer library, JDK 1.5. We found that at least 68% of the code in the Buffer library was contained in cloned classes or class methods. Close analysis of program situations that led to cloning revealed difficulties in eliminating clones with conventional program design techniques. As a possible solution, we applied a generative technique of XVCL (XML-based Variant Configuration Language) to represent similar classes and methods in generic, adaptable form. Concrete buffer classes could be automatically produced from the generic structures. We argue, on analytical and empirical grounds, that unifying clones reduced conceptual complexity and enhanced the changeability of the Buffer library at rates proportional to code size reduction (68%). We evaluated our solution in qualitative and quantitative ways, and conducted a controlled experiment to support this claim. The approach presented in the paper can be used to enhance genericity and changeability of any program, independently of an application domain or programming language. As the solution is not without pitfalls, we discuss trade-offs involved in its project application.
Author Li, Shubiao
Jarzabek, Stan
Author_xml – sequence: 1
  givenname: Stan
  surname: Jarzabek
  fullname: Jarzabek, Stan
  email: stan@comp.nus.edu.sg
  organization: Department of Computer Science, School of Computing, National University of Singapore, Lower Kent Ridge Road, Singapore 117543
– sequence: 2
  givenname: Shubiao
  surname: Li
  fullname: Li, Shubiao
  organization: Department of Banking Information Engineering, School of Economics and Finance, Xi'an Jiaotong University, Xi'an 710061, People's Republic of China
BookMark eNp90F1PwjAUBuDGYCKg8S_sSk3MsB_bunmnCGhETRCid03XdVDdB7ZD3L-3ZIQLo16dXjw9ec_bAa2iLCQAxwj2EIT4wuS6RwjZA23kE-zCAIWt3Ru-HoCOMW8QQkIpbYPBrFBprYq5IzK7xzhrVS0c7sxlITWv1Kd0lrqca57nG1RJsSjUx0peWiO4kY6pVkl9CPZTnhl5tJ1dMBsOpv1bd_w0uutfjV1BooC42EeCJjiKvQARjpKIIhwFSIiYpylPOPXiOPJTDimRvkg4JjhMA_slhDGJaEy64KTZazPZEKZiuTJCZhkvZLkyDEcexB4MLTz7FyIcBNSzeEPdhgpdGqNlyoSq7OVlUWmuMoYg2_TKbK_M9mr96Q-_1Crnuv5FnjdyrTJZ_8XY88Ok0dscylTya6e5fmcBJdRnL48jNgmH98P-9Q2bkm86z5eU
CitedBy_id crossref_primary_10_1109_TSE_2009_16
crossref_primary_10_1002_smr_394
crossref_primary_10_1016_j_cosrev_2020_100266
crossref_primary_10_1016_j_infsof_2013_01_008
crossref_primary_10_1002_smr_402
crossref_primary_10_1109_ACCESS_2019_2913043
crossref_primary_10_1109_TSE_2018_2880977
Cites_doi 10.1109/ICSE.2003.1201199
10.1007/BFb0034910
10.1145/136586.136587
10.1145/949305.949317
10.1109/ICSE.2003.1201298
10.1109/WPC.2003.1199203
10.1109/TSE.2002.1019480
10.1145/1062455.1062537
10.1007/BFb0053381
10.1109/ICSR.1994.365806
10.1109/TSE.1984.5010277
10.1145/378795.378797
10.1007/3-540-44800-4_4
10.1145/302405.302457
10.1109/ICSM.1999.792593
10.1145/256428.167078
10.1109/WCRE.1997.624575
ContentType Journal Article
Copyright Copyright © 2006 John Wiley & Sons, Ltd.
Copyright_xml – notice: Copyright © 2006 John Wiley & Sons, Ltd.
DBID BSCLL
AAYXX
CITATION
7SC
8FD
JQ2
L7M
L~C
L~D
DOI 10.1002/smr.333
DatabaseName Istex
CrossRef
Computer and Information Systems Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Computer and Information Systems Abstracts
Technology Research Database
Computer and Information Systems Abstracts – Academic
Advanced Technologies Database with Aerospace
ProQuest Computer Science Collection
Computer and Information Systems Abstracts Professional
DatabaseTitleList
CrossRef
Computer and Information Systems Abstracts
Computer and Information Systems Abstracts
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1532-0618
EndPage 292
ExternalDocumentID 10_1002_smr_333
SMR333
ark_67375_WNG_R8FKFCBD_T
Genre miscellaneous
GrantInformation_xml – fundername: National University of Singapore Research Grant
  funderid: R‐252‐000‐239‐112
GroupedDBID .4S
.DC
.GA
.Y3
10A
1L6
1OC
31~
3WU
4.4
50Y
51W
51X
52M
52N
52O
52P
52S
52T
52W
52X
66C
702
7PT
8-1
8-4
8-5
8UM
AAEVG
AAHQN
AAMMB
AAMNL
AANHP
AANLZ
AAXRX
AAYCA
AAZKR
ABCQN
ABCUV
ABEML
ABIJN
ABJNI
ACAHQ
ACBWZ
ACCZN
ACPOU
ACRPL
ACSCC
ACXBN
ACXQS
ACYXJ
ADEOM
ADIZJ
ADMGS
ADNMO
ADOZA
AEFGJ
AEIGN
AEIMD
AEUYR
AFBPY
AFFPM
AFGKR
AFWVQ
AFZJQ
AGQPQ
AGXDD
AGYGG
AHBTC
AI.
AIDQK
AIDYY
AITYG
AIURR
ALMA_UNASSIGNED_HOLDINGS
AMBMR
AMYDB
ARCSS
ASPBG
ATUGU
AVWKF
AZFZN
BDRZF
BRXPI
BSCLL
BY8
D-F
DCZOG
DR2
DRFUL
DRSTM
EBS
EDO
EJD
F00
F01
F04
FEDTE
G-S
G.N
GNP
GODZA
HF~
HGLYW
HVGLF
I-F
IX1
J0M
JPC
KQQ
LATKE
LAW
LC2
LC3
LEEKS
LH4
LITHE
LOXES
LP6
LP7
LUTES
LYRES
MEWTI
MK4
MK~
ML~
MRFUL
MRSTM
MSFUL
MSSTM
MXFUL
MXSTM
N9A
O66
OIG
P4D
Q11
QB0
QRW
RJQFR
ROL
RX1
SUPJJ
TUS
UB1
VH1
WIH
WIK
WQJ
WXSBR
XG1
XV2
AAHHS
AAYOK
ACCFJ
AEEZP
AEQDE
AEUQT
AFPWT
AIWBW
AJBDE
ALUQN
RIG
RWI
WRC
AAYXX
CITATION
O8X
7SC
8FD
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c3963-251c7d29b4613a1d9712961ccbaffada74bb95fa073e5cda2328f6c7d80b397b3
IEDL.DBID DRFUL
ISICitedReferencesCount 22
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000240157800002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1532-060X
IngestDate Thu Oct 02 17:28:40 EDT 2025
Sun Nov 09 11:03:47 EST 2025
Sat Nov 29 02:38:28 EST 2025
Tue Nov 18 22:28:16 EST 2025
Wed Jan 22 17:09:55 EST 2025
Tue Nov 11 03:30:28 EST 2025
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 4
Language English
License http://onlinelibrary.wiley.com/termsAndConditions#vor
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c3963-251c7d29b4613a1d9712961ccbaffada74bb95fa073e5cda2328f6c7d80b397b3
Notes ark:/67375/WNG-R8FKFCBD-T
istex:69C5D458BFC78254114BAD96A0CC53E993E90006
ArticleID:SMR333
National University of Singapore Research Grant - No. R-252-000-239-112
ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
OpenAccessLink http://scholarbank.nus.edu.sg/handle/10635/39458
PQID 1266744028
PQPubID 23500
PageCount 26
ParticipantIDs proquest_miscellaneous_29402408
proquest_miscellaneous_1266744028
crossref_citationtrail_10_1002_smr_333
crossref_primary_10_1002_smr_333
wiley_primary_10_1002_smr_333_SMR333
istex_primary_ark_67375_WNG_R8FKFCBD_T
PublicationCentury 2000
PublicationDate 2006-07
July/August 2006
2006-07-00
20060701
PublicationDateYYYYMMDD 2006-07-01
PublicationDate_xml – month: 07
  year: 2006
  text: 2006-07
PublicationDecade 2000
PublicationPlace Chichester, UK
PublicationPlace_xml – name: Chichester, UK
PublicationTitle Journal of software maintenance and evolution
PublicationTitleAlternate J. Softw. Maint. Evol.: Res. Pract
PublicationYear 2006
Publisher John Wiley & Sons, Ltd
Publisher_xml – name: John Wiley & Sons, Ltd
References Gamma E, Helm R, Johnson R, Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley: Reading MA, 1995; 395pp.
Fowler M. Analysis Patterns: Reusable Object Models. Addison-Wesley: Reading MA, 1997; 357pp.
Bassett P. Framing Software Reuse: Lessons From the Real World. Prentice-Hall: Upper Saddle River NJ, 1997; 365pp.
Czarnecki K, Eisenecker U. Generative Programming: Methods, Tools, and Applications. Addison-Wesley: Reading MA, 2000; 832pp.
Kamiya T, Kusumoto S, Inoue K. CCFinder: A multilinguistic token-based code clone detection system for large scale source code. IEEE Transactions on Software Engineering 2002; 28(7):654-670.
Musser D, Saini A. STL Tutorial and Reference Guide: C++ Programming with Standard Template Library. Addison-Wesley: Reading MA, 1996; 400pp.
Smyth W. Computing Patterns in Strings. Addison-Wesley: Reading MA, 2003; 440pp.
Taft S, Duff R. Ada 95 Reference Manual: Language and Standard Libraries ISO/IEC 8652. Springer: New York NY, 1995; 548pp.
Meyer B. Object-Oriented Software Construction. Prentice-Hall: London, 1988; 534pp.
Goguen JA. Parameterized programming. IEEE Transactions on Software Engineering 1984; 10(5):528-543.
Batory D, O'Malley S. The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology 1992; 1(4):355-398.
Fowler M, Beck K, Brant J, Opdyke W, Roberts D. Refactoring: Improving the Design of Existing Code. Addison-Wesley: Reading MA, 1999; 431pp.
2002; 28
2001
2000
1984; 10
1998
1997
1996
1995
1994
2005
1993
2004
2003
1992; 1
1999
1988
Fowler M (e_1_2_1_27_2) 1999
Yang J (e_1_2_1_19_2) 2005
Smyth W (e_1_2_1_20_2) 2003
Meyer B (e_1_2_1_24_2) 1988
e_1_2_1_22_2
e_1_2_1_23_2
e_1_2_1_21_2
e_1_2_1_26_2
Bassett P (e_1_2_1_32_2) 1997
Musser D (e_1_2_1_8_2) 1996
Pettersson U (e_1_2_1_11_2) 2005
e_1_2_1_25_2
e_1_2_1_28_2
e_1_2_1_29_2
Czarnecki K (e_1_2_1_9_2) 2000
Kim M (e_1_2_1_17_2) 2004
Basit AH (e_1_2_1_14_2) 2005
Gamma E (e_1_2_1_16_2) 1995
e_1_2_1_30_2
e_1_2_1_4_2
Jarzabek S (e_1_2_1_7_2) 2003
e_1_2_1_5_2
e_1_2_1_2_2
e_1_2_1_3_2
e_1_2_1_12_2
e_1_2_1_10_2
e_1_2_1_31_2
e_1_2_1_13_2
Fowler M (e_1_2_1_15_2) 1997
Baxter I (e_1_2_1_6_2) 1998
e_1_2_1_18_2
References_xml – reference: Kamiya T, Kusumoto S, Inoue K. CCFinder: A multilinguistic token-based code clone detection system for large scale source code. IEEE Transactions on Software Engineering 2002; 28(7):654-670.
– reference: Meyer B. Object-Oriented Software Construction. Prentice-Hall: London, 1988; 534pp.
– reference: Batory D, O'Malley S. The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology 1992; 1(4):355-398.
– reference: Smyth W. Computing Patterns in Strings. Addison-Wesley: Reading MA, 2003; 440pp.
– reference: Goguen JA. Parameterized programming. IEEE Transactions on Software Engineering 1984; 10(5):528-543.
– reference: Fowler M, Beck K, Brant J, Opdyke W, Roberts D. Refactoring: Improving the Design of Existing Code. Addison-Wesley: Reading MA, 1999; 431pp.
– reference: Czarnecki K, Eisenecker U. Generative Programming: Methods, Tools, and Applications. Addison-Wesley: Reading MA, 2000; 832pp.
– reference: Gamma E, Helm R, Johnson R, Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley: Reading MA, 1995; 395pp.
– reference: Bassett P. Framing Software Reuse: Lessons From the Real World. Prentice-Hall: Upper Saddle River NJ, 1997; 365pp.
– reference: Musser D, Saini A. STL Tutorial and Reference Guide: C++ Programming with Standard Template Library. Addison-Wesley: Reading MA, 1996; 400pp.
– reference: Taft S, Duff R. Ada 95 Reference Manual: Language and Standard Libraries ISO/IEC 8652. Springer: New York NY, 1995; 548pp.
– reference: Fowler M. Analysis Patterns: Reusable Object Models. Addison-Wesley: Reading MA, 1997; 357pp.
– start-page: 220
  year: 1997
  end-page: 242
– start-page: 400
  year: 1996
– start-page: 187
  year: 2003
  end-page: 197
– start-page: 440
  year: 2003
– start-page: 832
  year: 2000
– start-page: 237
  year: 2003
  end-page: 246
– start-page: 548
  year: 1995
– start-page: 191
  year: 1993
  end-page: 199
– start-page: 395
  year: 1995
– start-page: 107
  year: 1999
  end-page: 119
– start-page: 357
  year: 1997
– start-page: 102
  year: 1994
  end-page: 109
– start-page: 326
  year: 2005
  end-page: 335
– start-page: 810
  year: 2003
  end-page: 811
– start-page: 365
  year: 1997
– start-page: 109
  year: 1999
  end-page: 118
– start-page: 156
  year: 2005
  end-page: 165
– start-page: 1
  year: 2001
  end-page: 12
– volume: 1
  start-page: 355
  issue: 4
  year: 1992
  end-page: 398
  article-title: The design and implementation of hierarchical software systems with reusable components
  publication-title: ACM Transactions on Software Engineering and Methodology
– start-page: 451
  year: 2005
  end-page: 459
– start-page: 83
  year: 2004
  end-page: 92
– start-page: 196
  year: 2003
  end-page: 206
– start-page: 237
  year: 2005
  end-page: 255
– start-page: 115
  year: 2003
  end-page: 134
– start-page: 36
  year: 2001
  end-page: 47
– start-page: 368
  year: 1998
  end-page: 377
– start-page: 534
  year: 1988
– start-page: 44
  year: 1997
  end-page: 54
– volume: 10
  start-page: 528
  issue: 5
  year: 1984
  end-page: 543
  article-title: Parameterized programming
  publication-title: IEEE Transactions on Software Engineering
– volume: 28
  start-page: 654
  issue: 7
  year: 2002
  end-page: 670
  article-title: CCFinder: A multilinguistic token‐based code clone detection system for large scale source code
  publication-title: IEEE Transactions on Software Engineering
– start-page: 431
  year: 1999
– start-page: 832
  volume-title: Generative Programming: Methods, Tools, and Applications
  year: 2000
  ident: e_1_2_1_9_2
– ident: e_1_2_1_30_2
  doi: 10.1109/ICSE.2003.1201199
– start-page: 237
  volume-title: Proceedings European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC‐FSE 2003)
  year: 2003
  ident: e_1_2_1_7_2
– ident: e_1_2_1_23_2
  doi: 10.1007/BFb0034910
– start-page: 156
  volume-title: Proceedings European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC‐FSE 2005)
  year: 2005
  ident: e_1_2_1_14_2
– ident: e_1_2_1_3_2
  doi: 10.1145/136586.136587
– start-page: 431
  volume-title: Refactoring: Improving the Design of Existing Code
  year: 1999
  ident: e_1_2_1_27_2
– ident: e_1_2_1_26_2
  doi: 10.1145/949305.949317
– start-page: 83
  volume-title: Proceedings 2004 International Symposium on Empirical Software Engineering (ISESE 2004)
  year: 2004
  ident: e_1_2_1_17_2
– start-page: 368
  volume-title: Proceedings International Conference on Software Maintenance
  year: 1998
  ident: e_1_2_1_6_2
– ident: e_1_2_1_5_2
  doi: 10.1109/ICSE.2003.1201298
– start-page: 395
  volume-title: Design Patterns: Elements of Reusable Object‐Oriented Software
  year: 1995
  ident: e_1_2_1_16_2
– start-page: 365
  volume-title: Framing Software Reuse: Lessons From the Real World
  year: 1997
  ident: e_1_2_1_32_2
– ident: e_1_2_1_18_2
  doi: 10.1109/WPC.2003.1199203
– ident: e_1_2_1_13_2
  doi: 10.1109/TSE.2002.1019480
– start-page: 400
  volume-title: STL Tutorial and Reference Guide: C++ Programming with Standard Template Library
  year: 1996
  ident: e_1_2_1_8_2
– ident: e_1_2_1_10_2
  doi: 10.1145/1062455.1062537
– ident: e_1_2_1_28_2
  doi: 10.1007/BFb0053381
– ident: e_1_2_1_4_2
  doi: 10.1109/ICSR.1994.365806
– ident: e_1_2_1_22_2
  doi: 10.1109/TSE.1984.5010277
– ident: e_1_2_1_25_2
  doi: 10.1145/378795.378797
– ident: e_1_2_1_31_2
  doi: 10.1007/3-540-44800-4_4
– ident: e_1_2_1_29_2
  doi: 10.1145/302405.302457
– start-page: 237
  volume-title: Proceedings 4th International Conference on Generative Programming and Component Engineering (GPCE 2005)
  year: 2005
  ident: e_1_2_1_19_2
– ident: e_1_2_1_12_2
  doi: 10.1109/ICSM.1999.792593
– start-page: 326
  volume-title: Proceedings European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC‐FSE 2005)
  year: 2005
  ident: e_1_2_1_11_2
– ident: e_1_2_1_2_2
  doi: 10.1145/256428.167078
– start-page: 440
  volume-title: Computing Patterns in Strings
  year: 2003
  ident: e_1_2_1_20_2
– start-page: 534
  volume-title: Object‐Oriented Software Construction
  year: 1988
  ident: e_1_2_1_24_2
– ident: e_1_2_1_21_2
  doi: 10.1109/WCRE.1997.624575
– start-page: 357
  volume-title: Analysis Patterns: Reusable Object Models
  year: 1997
  ident: e_1_2_1_15_2
SSID ssj0003777
Score 1.743852
Snippet Software clones—similar program structures repeated in variant forms—increase the risk of update anomalies, blow up the program size and complexity, possibly...
Software clones - similar program structures repeated in variant forms - increase the risk of update anomalies, blow up the program size and complexity,...
SourceID proquest
crossref
wiley
istex
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 267
SubjectTerms Buffers
class libraries
Cloning
Complexity
Computer programs
generative programming
Libraries
maintainability
Maintenance costs
object-oriented methods
reusability
Risk
Software
Title Unifying clones with a generative programming technique: a case study
URI https://api.istex.fr/ark:/67375/WNG-R8FKFCBD-T/fulltext.pdf
https://onlinelibrary.wiley.com/doi/abs/10.1002%2Fsmr.333
https://www.proquest.com/docview/1266744028
https://www.proquest.com/docview/29402408
Volume 18
WOSCitedRecordID wos000240157800002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVWIB
  databaseName: Wiley Online Library Full Collection 2020
  customDbUrl:
  eissn: 1532-0618
  dateEnd: 20111231
  omitProxy: false
  ssIdentifier: ssj0003777
  issn: 1532-060X
  databaseCode: DRFUL
  dateStart: 20010101
  isFulltext: true
  titleUrlDefault: https://onlinelibrary.wiley.com
  providerName: Wiley-Blackwell
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1LS8QwEB5014MX32J9RhBv1W2TNq03X1VQF1kV9xbyaEVcV9lV8ec7SbtVEUHw1ENnSpjkm_lIk28AtliqdFCo3A_ttR4W5MpXnBofKwOSkTApeMu4ZhO83U663fTyS6uvUh-i3nCzyHD52gJcquHup2jo8HGwQykdh2aIq5Y1oHnUyW7O6zRMuWu7iIgO_Vbc6pY3Zq3zbuX6rRQ1bVTfv_HMr2zVlZts-h8DnYGpimOS_XJRzMJY3p-D6VH_BlLBeR6OkXC6a05E96xkP7GbskSSOydFbfMgqY5vPVqjWu51D200Vj_itGkX4CY7vj489au2Cr6mCDcfGY3mJkwVw1IuA5NyrPlxoLWSRSGN5EypNCokgj-PtJHIuZIiRpekpZC9KLoIjT6OagkIC0wsdaTwM5QZnSoVpzwKKNIYZgqae7A9irDQlea4bX3RE6VacigwOAKD4wGpDZ9LmY2fJttuiur3cvBgT6XxSNy2T0Qnyc6yw4Mjce3B5mgOBWLF_gCR_fzpdSgCZCNWEDFMPNj4xSZMmZN982DLTepvwxFXFx18LP_NbAUmy70be853FRovg9d8DSb028v9cLBeLd0PZ6zzpg
linkProvider Wiley-Blackwell
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV3dT9swED-NFgleYGNDhI_hSYi3jCZ24oQ3KM1AlGrqitY3yx_JNNEW1BbEn8_ZSQMIIU3aUx5yjqw7n--ny93vAA5YqnRQqNwPbVsPC3LlK06Nj5EBwUiYFLxl3LAJ3uslw2H6s6qqtL0wJT9EnXCznuHua-vgNiF99MwaOhtPv1NKl6DJ8BBFDWie9bPrbn0PU-7mLqJLh34rbg3Lllm7-Kha-ioWNa1aH18BzZdw1cWbbP1_dvoR1iqUSU7KY_EJPuSTDVhfTHAglUN_hg5CTtfoRPTIkvYTm5YlkvxxZNT2JiRVAdfYCtWEr8coozH-EcdO-wWus86gfe5XgxV8TdHhfMQ0mpswVQyDuQxMyjHqx4HWShaFNJIzpdKokOj-eaSNRNSVFDEuSVoK8Yuim9CY4K62gLDAxFJHCj9DmdGpUnHKo4AikGGmoLkHhwsVC12xjtvhFyNR8iWHApUjUDkekFrwriTaeCty6GxUv5fTG1uXxiPxu_dD9JPsMmufnomBB98WRhToLfYXiJzkt_czESAesZSIYeLB_jsyYcoc8ZsHB86q721H_Lrq42P738T2YeV8cNUV3Yve5Q6slpkcW_W7C4359D7fg2X9MP87m36tzvET9lP3lg
linkToPdf http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV3fT9swED4BnRAvFLYhwo9hJMRbRhM7ccwbULJNsAp1oPXN8o8EIUpBLUX8-ZydNANNSJP2lIecI-vsz_fJufsOYI8JbaJSF2HsynpYVOhQc2pDjAxIRuKs5B3rm03wXi8bDMRFnVXpamEqfYjmws0hw5_XDuDFgy0P_qiGTu7GXyml89BiiUgRlK1uP786b85hyn3fRYR0HHbSzqAqmXWDD-qhb2JRy7n1-Q3RfE1XfbzJ2_8z0xVYrlkmOaq2xSrMFaOP0J51cCA1oD_BKVJOX-hEzNCJ9hN3LUsUufZi1O4kJHUC150zagRfD9HGYPwjXp32M1zlp5cn38O6sUJoKAIuRE5juI2FZhjMVWQFx6ifRsZoVZbKKs60FkmpEP5FYqxC1pWVKQ7JOhr5i6ZrsDDCWa0DYZFNlUk0foYya4TWqeBJRJHIMFvSIoD9mYulqVXHXfOLoaz0kmOJzpHonABIY_hQCW38bbLv16h5r8a3Li-NJ_J375vsZ_lZfnLclZcB7M4WUSJa3C8QNSrupxMZIR9xkohxFsDOOzaxYF74LYA9v6rvTUf--tnHx8a_me3A4kU3l-c_emebsFRd5Lik3y1YeBxPi234YJ4ebybjL_U2fgGPIvcR
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Unifying+clones+with+a+generative+programming+technique%3A+a+case+study&rft.jtitle=Journal+of+software+maintenance+and+evolution&rft.au=Jarzabek%2C+Stan&rft.au=Li%2C+Shubiao&rft.date=2006-07-01&rft.issn=1532-060X&rft.eissn=1532-0618&rft.volume=18&rft.issue=4&rft.spage=267&rft.epage=292&rft_id=info:doi/10.1002%2Fsmr.333&rft.externalDBID=n%2Fa&rft.externalDocID=10_1002_smr_333
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1532-060X&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1532-060X&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1532-060X&client=summon