MELT: Mining Effective Lightweight Transformations from Pull Requests
Software developers often struggle to update APIs, leading to manual, time-consuming, and error-prone processes. We introduce Melt, a new approach that generates lightweight API migration rules directly from pull requests in popular library repositories. Our key insight is that pull requests merged...
Gespeichert in:
| Veröffentlicht in: | IEEE/ACM International Conference on Automated Software Engineering : [proceedings] S. 1516 - 1528 |
|---|---|
| Hauptverfasser: | , , , , , |
| Format: | Tagungsbericht |
| Sprache: | Englisch |
| Veröffentlicht: |
IEEE
11.09.2023
|
| Schlagworte: | |
| ISSN: | 2643-1572 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | Software developers often struggle to update APIs, leading to manual, time-consuming, and error-prone processes. We introduce Melt, a new approach that generates lightweight API migration rules directly from pull requests in popular library repositories. Our key insight is that pull requests merged into open-source libraries are a rich source of information sufficient to mine API migration rules. By leveraging code examples mined from the library source and automatically generated code examples based on the pull requests, we infer transformation rules in Comby, a language for structural code search and replace. Since inferred rules from single code examples may be too specific, we propose a generalization procedure to make the rules more applicable to client projects. Melt rules are syntax-driven, interpretable, and easily adaptable. Moreover, unlike previous work, our approach enables rule inference to seamlessly integrate into the library workflow, removing the need to wait for client code migrations. We evaluated Melt on pull requests from four popular libraries, successfully mining 461 migration rules from code examples in pull requests and 114 rules from auto-generated code examples. Our generalization procedure increases the number of matches for mined rules by 9×. We applied these rules to client projects and ran their tests, which led to an overall decrease in the number of warnings and fixing some test cases demonstrating MELT's effectiveness in real-world scenarios. |
|---|---|
| AbstractList | Software developers often struggle to update APIs, leading to manual, time-consuming, and error-prone processes. We introduce Melt, a new approach that generates lightweight API migration rules directly from pull requests in popular library repositories. Our key insight is that pull requests merged into open-source libraries are a rich source of information sufficient to mine API migration rules. By leveraging code examples mined from the library source and automatically generated code examples based on the pull requests, we infer transformation rules in Comby, a language for structural code search and replace. Since inferred rules from single code examples may be too specific, we propose a generalization procedure to make the rules more applicable to client projects. Melt rules are syntax-driven, interpretable, and easily adaptable. Moreover, unlike previous work, our approach enables rule inference to seamlessly integrate into the library workflow, removing the need to wait for client code migrations. We evaluated Melt on pull requests from four popular libraries, successfully mining 461 migration rules from code examples in pull requests and 114 rules from auto-generated code examples. Our generalization procedure increases the number of matches for mined rules by 9×. We applied these rules to client projects and ran their tests, which led to an overall decrease in the number of warnings and fixing some test cases demonstrating MELT's effectiveness in real-world scenarios. |
| Author | Goues, Claire Le Martins, Ruben Ramos, Daniel Mitchell, Hailie Lynce, Ines Manquinho, Vasco |
| Author_xml | – sequence: 1 givenname: Daniel surname: Ramos fullname: Ramos, Daniel email: drramos@scs.cmu.edu organization: School of Computer Science, INESC-ID Carnegie Mellon University,USA – sequence: 2 givenname: Hailie surname: Mitchell fullname: Mitchell, Hailie email: mitchelh@dickinson.edu organization: Dickinson College,Computer Science Department,USA – sequence: 3 givenname: Ines surname: Lynce fullname: Lynce, Ines email: ines.lynce@tecnico.ulisboa.pt organization: INESC-ID, Instituto Superior Técnico, Universidade de Lisboa,Portugal – sequence: 4 givenname: Vasco surname: Manquinho fullname: Manquinho, Vasco email: vasco.manquinho@inesc-id.pt organization: INESC-ID, Instituto Superior Técnico, Universidade de Lisboa,Portugal – sequence: 5 givenname: Ruben surname: Martins fullname: Martins, Ruben email: rubenm@cs.cmu.edu organization: School of Computer Science, Carnegie Mellon University,USA – sequence: 6 givenname: Claire Le surname: Goues fullname: Goues, Claire Le email: clegoues@cs.cmu.edu organization: School of Computer Science, Carnegie Mellon University,USA |
| BookMark | eNotj8tOwzAUBQ0Cibb0C2DhH0i4fsfsqio8pFQgCOvKda6LUZpAnIL4e6hgc0azGelMyUnXd0jIBYOcMbBXi-dSac5tzoGLHIAxc0Tm1thCKBDcWi2PyYRrKTKmDD8j05TeANSvmAkpV2VVX9NV7GK3pWUI6Mf4ibSK29fxCw9L68F1KfTDzo2x7xINQ7-jj_u2pU_4scc0pnNyGlybcP7PGXm5KevlXVY93N4vF1XmeCHHLASQGgt00jiujLbOKSNF0zAIGw-N94p57iAEHQRYsKhV8FYz1dhGiI2Ykcu_bkTE9fsQd274XjPgh7NK_AAPyU35 |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IL CBEJK RIE RIL |
| DOI | 10.1109/ASE56229.2023.00117 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP All) 1998-Present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 9798350329964 |
| EISSN | 2643-1572 |
| EndPage | 1528 |
| ExternalDocumentID | 10298355 |
| Genre | orig-research |
| GrantInformation_xml | – fundername: US National Science Foundation grantid: CCF-1750116,CCF-1762363 funderid: 10.13039/100000001 |
| GroupedDBID | 6IE 6IF 6IH 6IK 6IL 6IM 6IN 6J9 AAJGR AAWTH ABLEC ACREN ADYOE ADZIZ AFYQB ALMA_UNASSIGNED_HOLDINGS AMTXH BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO IEGSK IPLJI M43 OCL RIE RIL |
| ID | FETCH-LOGICAL-a284t-ff046e8ea47a25769aa5743dd10fbc0dcc51c2a0ff6f30909e65fc9615d9d33b3 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 1 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001103357200121&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Wed Aug 27 02:06:32 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a284t-ff046e8ea47a25769aa5743dd10fbc0dcc51c2a0ff6f30909e65fc9615d9d33b3 |
| PageCount | 13 |
| ParticipantIDs | ieee_primary_10298355 |
| PublicationCentury | 2000 |
| PublicationDate | 2023-Sept.-11 |
| PublicationDateYYYYMMDD | 2023-09-11 |
| PublicationDate_xml | – month: 09 year: 2023 text: 2023-Sept.-11 day: 11 |
| PublicationDecade | 2020 |
| PublicationTitle | IEEE/ACM International Conference on Automated Software Engineering : [proceedings] |
| PublicationTitleAbbrev | ASE |
| PublicationYear | 2023 |
| Publisher | IEEE |
| Publisher_xml | – name: IEEE |
| SSID | ssj0051577 ssib057256115 |
| Score | 2.2651887 |
| Snippet | Software developers often struggle to update APIs, leading to manual, time-consuming, and error-prone processes. We introduce Melt, a new approach that... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 1516 |
| SubjectTerms | api migration Codes Data mining Libraries Manuals Software Software engineering software refactoring |
| Title | MELT: Mining Effective Lightweight Transformations from Pull Requests |
| URI | https://ieeexplore.ieee.org/document/10298355 |
| WOSCitedRecordID | wos001103357200121&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 | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV27TsMwFLVoxcBUHkW85YE1EMdxHLMhlIqhrSooqFvlx7XE0qI-4Pe5dtICAwNbnMm6fpxzbJ97CblWRoOzmU7K3ECSW6twHzQuMUyAlAZVdvRXvPblcFhOJmrUmNWjFwYA4uMzuAmf8S7fze06HJXhCs8UMgbRIi0pi9qstZk8QiJ4M7blvojTUjZphliqbu-fK4T6LHhTMl6nqPxVUCXiSa_zz57sk-63M4-OtphzQHZgdkg6m9IMtFmpR6QaVP3xHR3E8g-0TlGM-xrtBy3-GY9D6fgHZ8W5R4PThI5QktIniGix7JKXXjV-eEyaigmJRphZJd6j3IUSdC51UBJKa4EUwTmWemNTZ61gODCp94XnqUoVFMJbhazGKce54cekPZvP4IRQgS1XeOk15LmxheFFqYE5bm1hjc5PSTeEZfpeJ8WYbiJy9sf_c7IXIh-eWjB2QdqrxRouya79WL0tF1dxKL8AnFqf_w |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV27TsMwFLWgIMFUHkW88cAaiBM7jtkQCioirSoIqFvlx7XE0qI-4PexnbTAwMAWZ7J8bZ9zbJ97EboUSoLRiYxyqiCiWgu3DyoTKcKAc-VUdvBXvJa838-HQzFozOrBCwMA4fEZXPnPcJdvJnrhj8rcCk-EYwxsHW0wSpO4tmstpw_jDr4JWbFfh9ScN4mGSCyub58LB_aJd6ckaZ2k8ldJlYAo9-1_9mUHdb69eXiwQp1dtAbjPdReFmfAzVrdR0WvKKsb3AsFIHCdpNjtbLj0avwzHIji6gdrdbMPe68JHjhRip8g4MWsg17ui-quGzU1EyLpgGYeWesEL-QgKZdeSwgpmSMJxpDYKh0brRlxoYmtzWwai1hAxqwWjtcYYdJUpQeoNZ6M4RBh5loms9xKoFTpTKVZLoGYVOtMK0mPUMcPy-i9TosxWo7I8R__L9BWt-qVo_Kh_3iCtn0U_MMLQk5Raz5dwBna1B_zt9n0PIT1Cx8So0Y |
| 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%3Abook&rft.genre=proceeding&rft.title=IEEE%2FACM+International+Conference+on+Automated+Software+Engineering+%3A+%5Bproceedings%5D&rft.atitle=MELT%3A+Mining+Effective+Lightweight+Transformations+from+Pull+Requests&rft.au=Ramos%2C+Daniel&rft.au=Mitchell%2C+Hailie&rft.au=Lynce%2C+Ines&rft.au=Manquinho%2C+Vasco&rft.date=2023-09-11&rft.pub=IEEE&rft.eissn=2643-1572&rft.spage=1516&rft.epage=1528&rft_id=info:doi/10.1109%2FASE56229.2023.00117&rft.externalDocID=10298355 |