{"id":"https://openalex.org/W2032988652","doi":"https://doi.org/10.1145/2814270.2814271","title":"Automating ad hoc data representation transformations","display_name":"Automating ad hoc data representation transformations","publication_year":2015,"publication_date":"2015-10-23","ids":{"openalex":"https://openalex.org/W2032988652","doi":"https://doi.org/10.1145/2814270.2814271","mag":"2032988652"},"language":"en","primary_location":{"id":"doi:10.1145/2814270.2814271","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814270.2814271","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://infoscience.epfl.ch/record/207050","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5045778235","display_name":"Vlad Ureche","orcid":null},"institutions":[{"id":"https://openalex.org/I174424907","display_name":"Laboratoire d'Informatique Fondamentale de Lille","ror":"https://ror.org/05rhg0h08","country_code":"FR","type":"facility","lineage":["https://openalex.org/I174424907"]},{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH","FR"],"is_corresponding":true,"raw_author_name":"Vlad Ureche","raw_affiliation_strings":["EPFL, Switzerland","EPFL, SWITZERLAND"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]},{"raw_affiliation_string":"EPFL, SWITZERLAND","institution_ids":["https://openalex.org/I174424907"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5089315679","display_name":"Aggelos Biboudis","orcid":null},"institutions":[{"id":"https://openalex.org/I200777214","display_name":"National and Kapodistrian University of Athens","ror":"https://ror.org/04gnjpq42","country_code":"GR","type":"education","lineage":["https://openalex.org/I200777214"]}],"countries":["GR"],"is_corresponding":false,"raw_author_name":"Aggelos Biboudis","raw_affiliation_strings":["University of Athens, Greece","University of Athens [Greece]"],"affiliations":[{"raw_affiliation_string":"University of Athens, Greece","institution_ids":["https://openalex.org/I200777214"]},{"raw_affiliation_string":"University of Athens [Greece]","institution_ids":["https://openalex.org/I200777214"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043949214","display_name":"Yannis Smaragdakis","orcid":"https://orcid.org/0000-0002-0499-0182"},"institutions":[{"id":"https://openalex.org/I200777214","display_name":"National and Kapodistrian University of Athens","ror":"https://ror.org/04gnjpq42","country_code":"GR","type":"education","lineage":["https://openalex.org/I200777214"]}],"countries":["GR"],"is_corresponding":false,"raw_author_name":"Yannis Smaragdakis","raw_affiliation_strings":["University of Athens, Greece","University of Athens [Greece]"],"affiliations":[{"raw_affiliation_string":"University of Athens, Greece","institution_ids":["https://openalex.org/I200777214"]},{"raw_affiliation_string":"University of Athens [Greece]","institution_ids":["https://openalex.org/I200777214"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5085410724","display_name":"Martin Odersky","orcid":"https://orcid.org/0009-0005-3923-8993"},"institutions":[{"id":"https://openalex.org/I174424907","display_name":"Laboratoire d'Informatique Fondamentale de Lille","ror":"https://ror.org/05rhg0h08","country_code":"FR","type":"facility","lineage":["https://openalex.org/I174424907"]},{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH","FR"],"is_corresponding":false,"raw_author_name":"Martin Odersky","raw_affiliation_strings":["EPFL, Switzerland","EPFL, SWITZERLAND"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]},{"raw_affiliation_string":"EPFL, SWITZERLAND","institution_ids":["https://openalex.org/I174424907"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5045778235"],"corresponding_institution_ids":["https://openalex.org/I174424907","https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":4.4569,"has_fulltext":false,"cited_by_count":13,"citation_normalized_percentile":{"value":0.9483296,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"801","last_page":"820"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991999864578247,"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/T11424","display_name":"Security and Verification in Computing","score":0.9984999895095825,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.8939490914344788},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7134526968002319},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6634100675582886},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6284478902816772},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5129225254058838},{"id":"https://openalex.org/keywords/plug-in","display_name":"Plug-in","score":0.4839234948158264},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.45991814136505127},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.4271449148654938},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.423003613948822},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2555386424064636},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.1836572289466858},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.10803452134132385}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8939490914344788},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7134526968002319},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6634100675582886},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6284478902816772},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5129225254058838},{"id":"https://openalex.org/C4924752","wikidata":"https://www.wikidata.org/wiki/Q184148","display_name":"Plug-in","level":2,"score":0.4839234948158264},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.45991814136505127},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4271449148654938},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.423003613948822},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2555386424064636},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.1836572289466858},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10803452134132385},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2814270.2814271","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814270.2814271","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","raw_type":"proceedings-article"},{"id":"pmh:oai:infoscience.epfl.ch:207050","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/207050","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"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":"Text"},{"id":"pmh:oai:infoscience.tind.io:207050","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/112930","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"conference proceedings"}],"best_oa_location":{"id":"pmh:oai:infoscience.epfl.ch:207050","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/207050","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"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":"Text"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W193325121","https://openalex.org/W603038928","https://openalex.org/W618753216","https://openalex.org/W1535609158","https://openalex.org/W1597497095","https://openalex.org/W1650987719","https://openalex.org/W1763336997","https://openalex.org/W1829619063","https://openalex.org/W1993335798","https://openalex.org/W2013989768","https://openalex.org/W2021986357","https://openalex.org/W2030916392","https://openalex.org/W2040581748","https://openalex.org/W2041364386","https://openalex.org/W2048132113","https://openalex.org/W2059895047","https://openalex.org/W2064730464","https://openalex.org/W2070430903","https://openalex.org/W2075675735","https://openalex.org/W2091347613","https://openalex.org/W2094269821","https://openalex.org/W2097012771","https://openalex.org/W2114980032","https://openalex.org/W2116136092","https://openalex.org/W2119976524","https://openalex.org/W2130179171","https://openalex.org/W2135416495","https://openalex.org/W2139141719","https://openalex.org/W2149207009","https://openalex.org/W2154509156","https://openalex.org/W2154697693","https://openalex.org/W2164387399","https://openalex.org/W2169761811","https://openalex.org/W2171691057","https://openalex.org/W2181305810","https://openalex.org/W2208923056","https://openalex.org/W6636798876","https://openalex.org/W6638490212"],"related_works":["https://openalex.org/W4252501555","https://openalex.org/W2003848320","https://openalex.org/W650988184","https://openalex.org/W2162410319","https://openalex.org/W2137356287","https://openalex.org/W4392500255","https://openalex.org/W4321184925","https://openalex.org/W2255990315","https://openalex.org/W60915090","https://openalex.org/W2025840053"],"abstract_inverted_index":{"To":[0,77],"maximize":[1],"run-time":[2],"performance,":[3],"programmers":[4,59,80],"often":[5],"specialize":[6],"their":[7],"code":[8],"by":[9,16],"hand,":[10],"replacing":[11],"library":[12],"collections":[13],"and":[14,35,45,54,84,88,118,130,142,156,161,165,181],"containers":[15],"custom":[17],"objects":[18],"in":[19,66,109,137,145],"which":[20],"data":[21,30,64,154],"is":[22,32],"restructured":[23],"for":[24],"efficient":[25],"access.":[26],"However,":[27],"changing":[28],"the":[29,47,63,95,100,106,116,153,167,175],"representation":[31,65],"a":[33,82,138],"tedious":[34],"error-prone":[36],"process":[37],"that":[38,57],"makes":[39],"it":[40,91,144],"hard":[41],"to":[42,60,73,97,111,158,169],"test,":[43],"maintain":[44],"evolve":[46],"source":[48,101],"code.":[49,102],"We":[50,132],"present":[51],"an":[52],"automated":[53],"composable":[55],"mechanism":[56,86],"allows":[58],"safely":[61],"change":[62,99],"delimited":[67],"scopes":[68],"containing":[69],"anything":[70],"from":[71,151],"expressions":[72],"entire":[74],"class":[75,163],"definitions.":[76],"achieve":[78],"this,":[79],"define":[81],"transformation":[83,117],"our":[85,173],"automatically":[87],"transparently":[89],"applies":[90],"during":[92],"compilation,":[93],"eliminating":[94],"need":[96],"manually":[98],"Our":[103],"technique":[104,136,176],"leverages":[105],"type":[107],"system":[108],"order":[110],"offer":[112],"correctness":[113],"guarantees":[114],"on":[115],"its":[119],"interaction":[120],"with":[121],"object-oriented":[122],"language":[123],"features,":[124],"such":[125],"as":[126],"dynamic":[127],"dispatch,":[128],"inheritance":[129],"generics.":[131],"have":[133],"embedded":[134],"this":[135],"Scala":[139],"compiler":[140],"plugin":[141],"used":[143],"four":[146],"very":[147],"different":[148],"transformations,":[149],"ranging":[150],"improving":[152],"layout":[155],"encoding,":[157],"retrofitting":[159],"specialization":[160],"value":[162],"status,":[164],"all":[166],"way":[168],"collection":[170],"deforestation.":[171],"On":[172],"benchmarks,":[174],"obtained":[177],"speedups":[178],"between":[179],"1.8x":[180],"24.5x.":[182]},"counts_by_year":[{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2017,"cited_by_count":6},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":3}],"updated_date":"2026-03-04T09:10:02.777135","created_date":"2025-10-10T00:00:00"}
