Recommending Adaptive Changes for Framework Evolution
In the course of a framework’s evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework’s evolution can be a challengin...
Saved in:
Published in | ACM transactions on software engineering and methodology Vol. 20; no. 4; pp. 1 - 35 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
01.09.2011
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | In the course of a framework’s evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework’s evolution can be a challenging task. We present a recommendation system, SemDiff, that suggests adaptations to client programs by analyzing how a framework was adapted to its own changes. In a study of the evolution of one open source framework and three client programs, our approach recommended relevant adaptive changes with a high level of precision. In a second study of the evolution of two frameworks, we found that related change detection approaches were better at discovering systematic changes and that SemDiff was complementary to these approaches by detecting non-trivial changes such as when a functionality is imported from an external library. |
---|---|
AbstractList | In the course of a framework’s evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework’s evolution can be a challenging task. We present a recommendation system, SemDiff, that suggests adaptations to client programs by analyzing how a framework was adapted to its own changes. In a study of the evolution of one open source framework and three client programs, our approach recommended relevant adaptive changes with a high level of precision. In a second study of the evolution of two frameworks, we found that related change detection approaches were better at discovering systematic changes and that SemDiff was complementary to these approaches by detecting non-trivial changes such as when a functionality is imported from an external library. |
Author | Dagenais, Barthélémy Robillard, Martin P. |
Author_xml | – sequence: 1 givenname: Barthélémy surname: Dagenais fullname: Dagenais, Barthélémy organization: McGill University – sequence: 2 givenname: Martin P. surname: Robillard fullname: Robillard, Martin P. organization: McGill University |
BookMark | eNp1kM1LAzEUxINUsK2eve7N07b53GyOpbQqFARR8BbS7Nu6upvUZLfif29KexI8zTvMb3gzEzRy3gFCtwTPCOFiTjHGUqnZUUssLtCYCCFzyRQdpRtzlTNG3q7QJMYPjAnDlI-ReAbruw5c1bhdtqjMvm8OkC3fjdtBzGofsnUwHXz78JmtDr4d-sa7a3RZmzbCzVmn6HW9elk-5Jun-8flYpNbKlmfC1EYWnMDphAV3woQMilnZU2VMIbVrJCU2LIg3KaHFBRqyytcbWXylIKyKbo75e6D_xog9rprooW2NQ78ELUqWKlEqpic85PTBh9jgFrvQ9OZ8KMJ1sd99Hkffd4nEeIPYZveHNv1wTTtv9wv_r1ozg |
CitedBy_id | crossref_primary_10_1007_s10664_014_9317_9 crossref_primary_10_1007_s11432_019_2745_5 crossref_primary_10_1007_s10664_022_10131_8 crossref_primary_10_1016_j_infsof_2024_107568 crossref_primary_10_1007_s11219_017_9358_6 crossref_primary_10_7256_2454_0714_2022_1_34337 crossref_primary_10_1142_S0218194024500505 crossref_primary_10_1007_s10270_024_01245_2 crossref_primary_10_1109_TSE_2014_2347969 crossref_primary_10_1109_TSE_2023_3346474 crossref_primary_10_1016_j_asoc_2020_106140 crossref_primary_10_1109_TSE_2023_3278129 crossref_primary_10_1007_s13748_018_0147_7 crossref_primary_10_1145_3643755 crossref_primary_10_1109_TSE_2020_3032557 crossref_primary_10_26634_jmt_5_1_14788 crossref_primary_10_1145_3721127 crossref_primary_10_1007_s10664_015_9411_7 crossref_primary_10_1109_TSE_2012_63 crossref_primary_10_1145_3428255 crossref_primary_10_1016_j_cosrev_2025_100732 crossref_primary_10_1109_TSC_2015_2466544 crossref_primary_10_1109_TSE_2019_2901459 crossref_primary_10_1049_iet_sen_2018_5356 crossref_primary_10_1145_3485538 crossref_primary_10_1007_s10664_019_09764_z crossref_primary_10_1016_j_infsof_2024_107588 crossref_primary_10_1002_smr_2181 |
Cites_doi | 10.1109/ESEM.2007.63 10.1145/1449764.1449790 10.1109/ASE.2006.41 10.1109/TSE.2005.72 10.1109/ICSE.2007.20 10.1109/52.991326 10.1109/ICSE.2007.71 10.1145/1287624.1287651 10.1007/11785477_24 10.1109/2.675630 10.1109/ICSE.2009.5070531 10.1109/WCRE.2008.15 10.1145/1181775.1181777 10.1145/1368088.1368154 10.1145/1062455.1062512 10.1109/TSE.2006.117 10.1002/smr.v18:2 10.1142/S0218194006002707 10.1109/WCRE.2005.33 10.1109/ICSM.2006.35 10.1109/52.922731 10.1007/978-3-642-00593-0_12 10.1109/TSE.2005.28 10.1145/1368088.1368153 10.1109/ICSE.2009.5070565 10.1109/TSE.2007.70731 10.1145/1188835.1188847 |
ContentType | Journal Article |
DBID | AAYXX CITATION 7SC 8FD JQ2 L7M L~C L~D |
DOI | 10.1145/2000799.2000805 |
DatabaseName | 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 |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 1557-7392 |
EndPage | 35 |
ExternalDocumentID | 10_1145_2000799_2000805 |
GroupedDBID | --Z -DZ -~X .4S .DC 23M 4.4 5GY 5VS 6J9 8US 9M8 AAHTB AAKMM AALFJ AAYFX AAYXX ABPEJ ABPPZ ACGFO ACGOD ACM ADBCU ADL ADMHC ADMLS AEBYY AEFXT AEJOY AENEX AENSD AETEA AFFNX AFWIH AFWXC AI. AIAGR AIKLT AKRVB ALMA_UNASSIGNED_HOLDINGS ARCSS ASPBG AVWKF BDXCO CCLIF CITATION CS3 D0L EBS EDO EJD FEDTE GUFHI HF~ HGAVV H~9 I07 LHSKQ MVM P1C P2P PQQKQ RNS ROL TUS UPT VH1 XOL XSW YR2 ZCA 7SC 8FD JQ2 L7M L~C L~D |
ID | FETCH-LOGICAL-c273t-556a2f4aea65d4b5e575d4438f295aa3f36721c8614c0139e69b4d0db74388523 |
ISSN | 1049-331X |
IngestDate | Fri Jul 11 13:32:17 EDT 2025 Thu Apr 24 22:58:30 EDT 2025 Tue Aug 05 12:01:40 EDT 2025 |
IsDoiOpenAccess | false |
IsOpenAccess | true |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 4 |
Language | English |
LinkModel | OpenURL |
MergedId | FETCHMERGED-LOGICAL-c273t-556a2f4aea65d4b5e575d4438f295aa3f36721c8614c0139e69b4d0db74388523 |
Notes | ObjectType-Article-2 SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 23 |
PQID | 963895739 |
PQPubID | 23500 |
PageCount | 35 |
ParticipantIDs | proquest_miscellaneous_963895739 crossref_primary_10_1145_2000799_2000805 crossref_citationtrail_10_1145_2000799_2000805 |
PublicationCentury | 2000 |
PublicationDate | 2011-09-00 20110901 |
PublicationDateYYYYMMDD | 2011-09-01 |
PublicationDate_xml | – month: 09 year: 2011 text: 2011-09-00 |
PublicationDecade | 2010 |
PublicationTitle | ACM transactions on software engineering and methodology |
PublicationYear | 2011 |
References | e_1_2_1_20_1 e_1_2_1_23_1 e_1_2_1_21_1 e_1_2_1_22_1 e_1_2_1_27_1 e_1_2_1_28_1 e_1_2_1_25_1 e_1_2_1_26_1 Zimmermann T. (e_1_2_1_31_1) e_1_2_1_29_1 Nystrom N. (e_1_2_1_24_1) e_1_2_1_7_1 e_1_2_1_8_1 e_1_2_1_30_1 e_1_2_1_5_1 e_1_2_1_6_1 e_1_2_1_12_1 e_1_2_1_4_1 e_1_2_1_13_1 e_1_2_1_1_1 e_1_2_1_10_1 e_1_2_1_2_1 Chow K. (e_1_2_1_3_1) e_1_2_1_11_1 e_1_2_1_32_1 e_1_2_1_16_1 e_1_2_1_17_1 e_1_2_1_14_1 e_1_2_1_15_1 e_1_2_1_9_1 e_1_2_1_18_1 e_1_2_1_19_1 |
References_xml | – ident: e_1_2_1_25_1 doi: 10.1109/ESEM.2007.63 – ident: e_1_2_1_4_1 doi: 10.1145/1449764.1449790 – volume-title: Proceedings of the 12th International Conference on Compiler Construction. 138--152 ident: e_1_2_1_24_1 – ident: e_1_2_1_28_1 doi: 10.1109/ASE.2006.41 – ident: e_1_2_1_32_1 doi: 10.1109/TSE.2005.72 – ident: e_1_2_1_20_1 doi: 10.1109/ICSE.2007.20 – ident: e_1_2_1_13_1 doi: 10.1109/52.991326 – ident: e_1_2_1_11_1 doi: 10.1109/ICSE.2007.71 – volume-title: Proceedings of the International Conference on Software Maintenance. 359--369 ident: e_1_2_1_3_1 – ident: e_1_2_1_23_1 – ident: e_1_2_1_7_1 doi: 10.1145/1287624.1287651 – ident: e_1_2_1_10_1 doi: 10.1007/11785477_24 – ident: e_1_2_1_30_1 doi: 10.1109/2.675630 – ident: e_1_2_1_19_1 doi: 10.1109/ICSE.2009.5070531 – ident: e_1_2_1_26_1 doi: 10.1109/WCRE.2008.15 – volume-title: Proceedings of the International Workshop on Mining Software Repositories. ident: e_1_2_1_31_1 – ident: e_1_2_1_18_1 doi: 10.1145/1181775.1181777 – ident: e_1_2_1_5_1 doi: 10.1145/1368088.1368154 – ident: e_1_2_1_15_1 doi: 10.1145/1062455.1062512 – ident: e_1_2_1_16_1 doi: 10.1109/TSE.2006.117 – ident: e_1_2_1_9_1 doi: 10.1002/smr.v18:2 – ident: e_1_2_1_29_1 doi: 10.1142/S0218194006002707 – ident: e_1_2_1_21_1 doi: 10.1109/WCRE.2005.33 – ident: e_1_2_1_1_1 doi: 10.1109/ICSM.2006.35 – ident: e_1_2_1_22_1 doi: 10.1109/52.922731 – ident: e_1_2_1_8_1 – ident: e_1_2_1_17_1 doi: 10.1007/978-3-642-00593-0_12 – ident: e_1_2_1_14_1 doi: 10.1109/TSE.2005.28 – ident: e_1_2_1_27_1 doi: 10.1145/1368088.1368153 – ident: e_1_2_1_6_1 doi: 10.1109/ICSE.2009.5070565 – ident: e_1_2_1_12_1 doi: 10.1109/TSE.2007.70731 – ident: e_1_2_1_2_1 doi: 10.1145/1188835.1188847 |
SSID | ssj0013024 |
Score | 2.2790363 |
Snippet | In the course of a framework’s evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable... In the course of a framework's evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable... |
SourceID | proquest crossref |
SourceType | Aggregation Database Enrichment Source Index Database |
StartPage | 1 |
SubjectTerms | Adaptation Breaking Change detection Evolution Freeware Libraries Software engineering Tasks |
Title | Recommending Adaptive Changes for Framework Evolution |
URI | https://www.proquest.com/docview/963895739 |
Volume | 20 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1La9tAEF5a-9JLm_RB3SZlDz0UglxZuytpj86LUOpSaAK5iX2MToliGqeB_PrOPvSw20CSi2yEvEiazzOzM_PNEPI5LR270kICDNKEz4zGv5StE2HtTNYmBenbLi5-5Cdn_Nu5OO9D2Z5dstJTc_dfXslTpIrnUK6OJfsIyXaL4gn8jvLFI0oYjw-Ssds7Xl5CIKbMrVr6OqBAGPB9FpxfGmqv9o7-xFsZuqPzg4UbEtFODPepg2tUzLeuHgz6VoU-xRCGTa-F4Q9RGzUqtCnYV67Y0OfdL8JHT5ZwLDPEWyijD50L9n5OhxEHF0KVbcQhKEncVSSM-VE3aEOi4hRFUjC5plmzdIAgPlCTs4G9Dd1K_tXk3DW9cESiQgZCUZmK3mi1ifoNW9ZVGAa-tajiAlVc4DkZZ7ifyEZkPD9cfP_VJ5zSMP-4fbTYBQqX-LpxD-sOzLr99k7J6RZ5GXcTdB6gsU2eQfOavGonddCouN8QMUQKbZFCI1IoIoV2SKEdUt6Ss-Oj04OTJA7MSAx6oatEiFxlNVegcmG5FoC-uOWclXUmhVKsZjlu-E2JLplxrj_kUnObWo1uZFmKjL0jo-aqgfeEagnKxQbKHGZcp3ihMbnSWVaYAiBnEzJt30JlYjd5N9TkorrnzU_Il-4Hy9BI5f5LaftaK1R2LoOlGri6ua6ctZACYfbh4at9JC96EO-Q0er3DeyiI7nSnyII_gKuP20Z |
linkProvider | EBSCOhost |
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=Recommending+Adaptive+Changes+for+Framework+Evolution&rft.jtitle=ACM+transactions+on+software+engineering+and+methodology&rft.au=Dagenais%2C+Barth%C3%A9l%C3%A9my&rft.au=Robillard%2C+Martin+P.&rft.date=2011-09-01&rft.issn=1049-331X&rft.eissn=1557-7392&rft.volume=20&rft.issue=4&rft.spage=1&rft.epage=35&rft_id=info:doi/10.1145%2F2000799.2000805&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_2000799_2000805 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1049-331X&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1049-331X&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1049-331X&client=summon |