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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE/ACM International Conference on Automated Software Engineering : [proceedings] S. 1516 - 1528
Hauptverfasser: Ramos, Daniel, Mitchell, Hailie, Lynce, Ines, Manquinho, Vasco, Martins, Ruben, Goues, Claire Le
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