{"id":"https://openalex.org/W2789599444","doi":"https://doi.org/10.1145/3173162.3173182","title":"Automatic Matching of Legacy Code to Heterogeneous APIs","display_name":"Automatic Matching of Legacy Code to Heterogeneous APIs","publication_year":2018,"publication_date":"2018-03-19","ids":{"openalex":"https://openalex.org/W2789599444","doi":"https://doi.org/10.1145/3173162.3173182","mag":"2789599444"},"language":"en","primary_location":{"id":"doi:10.1145/3173162.3173182","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3173162.3173182","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":null,"any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5004932726","display_name":"Philip Ginsbach","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Philip Ginsbach","raw_affiliation_strings":["The University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"The University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5050554632","display_name":"Toomas Remmelg","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Toomas Remmelg","raw_affiliation_strings":["The University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"The University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5016319844","display_name":"Michel Steuwer","orcid":"https://orcid.org/0000-0001-5048-0741"},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Michel Steuwer","raw_affiliation_strings":["University of Glasgow, Glasgow, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Glasgow, Glasgow, United Kingdom","institution_ids":["https://openalex.org/I7882870"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012848825","display_name":"Bruno Bodin","orcid":"https://orcid.org/0000-0002-8762-7513"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Bruno Bodin","raw_affiliation_strings":["The University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"The University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5050229154","display_name":"Christophe Dubach","orcid":"https://orcid.org/0000-0003-4811-2469"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Christophe Dubach","raw_affiliation_strings":["The University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"The University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027001025","display_name":"Michael O\u2019Boyle","orcid":"https://orcid.org/0000-0003-1619-5052"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Michael F. P. O'Boyle","raw_affiliation_strings":["The University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"The University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5004932726"],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":3.1529,"has_fulltext":false,"cited_by_count":27,"citation_normalized_percentile":{"value":0.91807062,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"139","last_page":"153"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9943000078201294,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.879296064376831},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.6342521905899048},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6331046223640442},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.6282173991203308},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6102448105812073},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5806718468666077},{"id":"https://openalex.org/keywords/stencil","display_name":"Stencil","score":0.563924252986908},{"id":"https://openalex.org/keywords/focus","display_name":"Focus (optics)","score":0.5062979459762573},{"id":"https://openalex.org/keywords/lift","display_name":"Lift (data mining)","score":0.46393540501594543},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.4556359350681305},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.16341283917427063}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.879296064376831},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.6342521905899048},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6331046223640442},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.6282173991203308},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6102448105812073},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5806718468666077},{"id":"https://openalex.org/C76752949","wikidata":"https://www.wikidata.org/wiki/Q7607499","display_name":"Stencil","level":2,"score":0.563924252986908},{"id":"https://openalex.org/C192209626","wikidata":"https://www.wikidata.org/wiki/Q190909","display_name":"Focus (optics)","level":2,"score":0.5062979459762573},{"id":"https://openalex.org/C139002025","wikidata":"https://www.wikidata.org/wiki/Q3001212","display_name":"Lift (data mining)","level":2,"score":0.46393540501594543},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.4556359350681305},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.16341283917427063},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C120665830","wikidata":"https://www.wikidata.org/wiki/Q14620","display_name":"Optics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3173162.3173182","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3173162.3173182","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"},{"id":"pmh:oai:eprints.gla.ac.uk:156406","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4210235606","display_name":"ENLIGHTEN (Jurnal Bimbingan dan Konseling Islam)","issn_l":"2622-8912","issn":["2622-8912","2622-8920"],"is_oa":true,"is_in_doaj":true,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"Conference Proceedings"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/74bf9dba-7d61-46f3-883b-0f6fff11dec1","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/74bf9dba-7d61-46f3-883b-0f6fff11dec1","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Ginsbach, P, Remmelg, T, Steuwer, M, Bodin, B, Dubach, C & O'Boyle, M 2018, Automatic matching of legacy code to heterogeneous APIs: An idiomatic approach. in 23rd ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'18). ACM SIGPLAN Notices, no. 2, vol. 53, pp. 139-153, The 23rd ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Williamsburg, United States, 24/03/18. https://doi.org/10.1145/3173162.3173182","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:pure.ed.ac.uk:publications/74bf9dba-7d61-46f3-883b-0f6fff11dec1","is_oa":false,"landing_page_url":"https://www.research.ed.ac.uk/portal/en/publications/automatic-matching-of-legacy-code-to-heterogeneous-apis-an-idiomatic-approach(74bf9dba-7d61-46f3-883b-0f6fff11dec1).html","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"pmh:oai:eprints.gla.ac.uk:156406","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4210235606","display_name":"ENLIGHTEN (Jurnal Bimbingan dan Konseling Islam)","issn_l":"2622-8912","issn":["2622-8912","2622-8920"],"is_oa":true,"is_in_doaj":true,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"Conference Proceedings"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1934935867","display_name":null,"funder_award_id":"Engineering and Physical Sciences R","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G3276400090","display_name":"EPSRC Centre for Doctoral Training in Pervasive Parallelism","funder_award_id":"EP/L01503X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G3667877411","display_name":null,"funder_award_id":"EP/P022642/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G4466388606","display_name":null,"funder_award_id":"NVIDIA","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320309480","display_name":"Nvidia","ror":"https://ror.org/03jdj4y14"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":51,"referenced_works":["https://openalex.org/W1528855243","https://openalex.org/W1553894716","https://openalex.org/W1598202309","https://openalex.org/W1782174992","https://openalex.org/W1983413115","https://openalex.org/W1985571147","https://openalex.org/W1997186449","https://openalex.org/W1997978901","https://openalex.org/W2007845800","https://openalex.org/W2010920360","https://openalex.org/W2021235324","https://openalex.org/W2026932299","https://openalex.org/W2032039029","https://openalex.org/W2049510645","https://openalex.org/W2053803547","https://openalex.org/W2054907275","https://openalex.org/W2055312318","https://openalex.org/W2065392434","https://openalex.org/W2073276447","https://openalex.org/W2077143534","https://openalex.org/W2083310717","https://openalex.org/W2084917734","https://openalex.org/W2104958979","https://openalex.org/W2107979247","https://openalex.org/W2109626307","https://openalex.org/W2115148068","https://openalex.org/W2130179171","https://openalex.org/W2135106356","https://openalex.org/W2138163628","https://openalex.org/W2147578933","https://openalex.org/W2153185479","https://openalex.org/W2160183719","https://openalex.org/W2168280106","https://openalex.org/W2170634604","https://openalex.org/W2171353821","https://openalex.org/W2217569097","https://openalex.org/W2234483109","https://openalex.org/W2296463846","https://openalex.org/W2296703101","https://openalex.org/W2329047703","https://openalex.org/W2412440871","https://openalex.org/W2515471963","https://openalex.org/W2593883698","https://openalex.org/W2594730095","https://openalex.org/W2606722458","https://openalex.org/W2772612468","https://openalex.org/W3013976982","https://openalex.org/W4234688306","https://openalex.org/W4235762625","https://openalex.org/W4244568863","https://openalex.org/W6633288084"],"related_works":["https://openalex.org/W3105129168","https://openalex.org/W2804920739","https://openalex.org/W4316371992","https://openalex.org/W2058965144","https://openalex.org/W2186216222","https://openalex.org/W2164382479","https://openalex.org/W2392765154","https://openalex.org/W2772612468","https://openalex.org/W4244512595","https://openalex.org/W153514170"],"abstract_inverted_index":{"Heterogeneous":[0],"accelerators":[1],"often":[2],"disappoint.":[3],"They":[4],"provide":[5],"the":[6,32,111,119,142],"prospect":[7],"of":[8,34,141],"great":[9],"performance,":[10],"but":[11],"only":[12],"deliver":[13],"it":[14,117],"when":[15],"using":[16],"vendor":[17],"specific":[18,23],"optimized":[19],"libraries":[20],"or":[21],"domain":[22],"languages.":[24],"This":[25,37],"requires":[26],"considerable":[27],"legacy":[28],"code":[29,148],"modifications,":[30],"hindering":[31],"adoption":[33],"heterogeneous":[35],"computing.":[36],"paper":[38],"develops":[39],"a":[40,79,138],"novel":[41],"approach":[42,112],"to":[43,86,97,152],"automatically":[44],"detect":[45,128],"opportunities":[46],"for":[47],"accelerator":[48],"exploitation.":[49],"We":[50,73,109],"focus":[51],"on":[52,118,156],"calculations":[53],"that":[54,149],"are":[55,94,137],"well":[56],"supported":[57],"by":[58],"established":[59],"APIs:":[60],"sparse":[61],"and":[62,68,71,77,101,103,107,115,121,158],"dense":[63],"linear":[64],"algebra,":[65],"stencil":[66],"codes":[67],"generalized":[69],"reductions":[70],"histograms.":[72],"call":[74],"them":[75,88],"idioms":[76,93,136],"use":[78],"custom":[80],"constraint-based":[81],"Idiom":[82],"Description":[83],"Language":[84],"(IDL)":[85],"discover":[87],"within":[89],"user":[90],"code.":[91],"Detected":[92],"then":[95],"mapped":[96],"BLAS":[98],"libraries,":[99],"cuSPARSE":[100],"clSPARSE":[102],"two":[104],"DSLs:":[105],"Halide":[106],"Lift.":[108],"implemented":[110],"in":[113],"LLVM":[114],"evaluated":[116],"NAS":[120],"Parboil":[122],"sequential":[123,143],"C/C++":[124],"benchmarks,":[125],"where":[126,135],"we":[127,146],"60":[129],"idiom":[130],"instances.":[131],"In":[132],"those":[133],"cases":[134],"significant":[139],"part":[140],"execution":[144],"time,":[145],"generate":[147],"achieves":[150],"1.26x":[151],"over":[153],"20x":[154],"speedup":[155],"integrated":[157],"external":[159],"GPUs.":[160]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":2}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
