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...
Uloženo v:
| Vydáno v: | Journal of software maintenance and evolution Ročník 18; číslo 4; s. 267 - 292 |
|---|---|
| Hlavní autoři: | , |
| 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 |