{"id":"https://openalex.org/W4310506241","doi":"https://doi.org/10.1145/3567512.3567528","title":"Collection Skeletons: Declarative Abstractions for Data Collections","display_name":"Collection Skeletons: Declarative Abstractions for Data Collections","publication_year":2022,"publication_date":"2022-11-29","ids":{"openalex":"https://openalex.org/W4310506241","doi":"https://doi.org/10.1145/3567512.3567528"},"language":"en","primary_location":{"id":"doi:10.1145/3567512.3567528","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3567512.3567528","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://www.research.ed.ac.uk/files/308848498/Collection_Skeletons_FRANKE_DOA19092022_AFV.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5070407969","display_name":"Bj\u00f6rn Franke","orcid":"https://orcid.org/0000-0002-1219-8523"},"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":"Bj\u00f6rn Franke","raw_affiliation_strings":["University of Edinburgh, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100629998","display_name":"Zhibo Li","orcid":"https://orcid.org/0000-0001-9475-2059"},"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":"Zhibo Li","raw_affiliation_strings":["University of Edinburgh, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5069517612","display_name":"John Magnus Morton","orcid":"https://orcid.org/0000-0002-2974-2767"},"institutions":[{"id":"https://openalex.org/I4210160618","display_name":"Huawei Technologies (United Kingdom)","ror":"https://ror.org/056gzgs71","country_code":"GB","type":"company","lineage":["https://openalex.org/I2250955327","https://openalex.org/I4210160618"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Magnus Morton","raw_affiliation_strings":["Huawei, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Huawei, UK","institution_ids":["https://openalex.org/I4210160618"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5016319844","display_name":"Michel Steuwer","orcid":"https://orcid.org/0000-0001-5048-0741"},"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":"Michel Steuwer","raw_affiliation_strings":["University of Edinburgh, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":2,"citation_normalized_percentile":{"value":0.137471,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":97,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"189","last_page":"201"},"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/T12127","display_name":"Software System Performance and Reliability","score":0.9988999962806702,"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/T11424","display_name":"Security and Verification in Computing","score":0.9986000061035156,"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.8655837774276733},{"id":"https://openalex.org/keywords/software-portability","display_name":"Software portability","score":0.6896084547042847},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.6305865049362183},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5737023949623108},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5630262494087219},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.5073787569999695},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.47785040736198425},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.44536250829696655},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.4302446246147156},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.42264217138290405}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8655837774276733},{"id":"https://openalex.org/C63000827","wikidata":"https://www.wikidata.org/wiki/Q3080428","display_name":"Software portability","level":2,"score":0.6896084547042847},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.6305865049362183},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5737023949623108},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5630262494087219},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.5073787569999695},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.47785040736198425},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.44536250829696655},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.4302446246147156},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.42264217138290405},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"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/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3567512.3567528","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3567512.3567528","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/6ddc3156-a61f-4c51-8689-e05258a9bfbb","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/6ddc3156-a61f-4c51-8689-e05258a9bfbb","pdf_url":"https://www.research.ed.ac.uk/files/308848498/Collection_Skeletons_FRANKE_DOA19092022_AFV.pdf","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Franke, B, Li, Z, Morton, M & Steuwer, M 2022, Collection Skeletons - Declarative Abstractions for Data Collections. in B Fischer, L Burgue\u00f1o & W Cazzola (eds), Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022). Association for Computing Machinery (ACM), pp. 189-201, The 15th ACM SIGPLAN International Conference on Software Language Engineering, 2022, Auckland, New Zealand, 5/12/22. https://doi.org/10.1145/3567512.3567528","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:pure.ed.ac.uk:publications/6ddc3156-a61f-4c51-8689-e05258a9bfbb","is_oa":true,"landing_page_url":"https://hdl.handle.net/20.500.11820/6ddc3156-a61f-4c51-8689-e05258a9bfbb","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Franke, B, Li, Z, Morton, M & Steuwer, M 2022, Collection Skeletons - Declarative Abstractions for Data Collections. in B Fischer, L Burgue\u00f1o & W Cazzola (eds), Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022). Association for Computing Machinery (ACM), pp. 189-201, The 15th ACM SIGPLAN International Conference on Software Language Engineering, 2022, Auckland, New Zealand, 5/12/22. https://doi.org/10.1145/3567512.3567528","raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":{"id":"pmh:oai:pure.ed.ac.uk:openaire/6ddc3156-a61f-4c51-8689-e05258a9bfbb","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/6ddc3156-a61f-4c51-8689-e05258a9bfbb","pdf_url":"https://www.research.ed.ac.uk/files/308848498/Collection_Skeletons_FRANKE_DOA19092022_AFV.pdf","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Franke, B, Li, Z, Morton, M & Steuwer, M 2022, Collection Skeletons - Declarative Abstractions for Data Collections. in B Fischer, L Burgue\u00f1o & W Cazzola (eds), Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022). Association for Computing Machinery (ACM), pp. 189-201, The 15th ACM SIGPLAN International Conference on Software Language Engineering, 2022, Auckland, New Zealand, 5/12/22. https://doi.org/10.1145/3567512.3567528","raw_type":"info:eu-repo/semantics/conferenceObject"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4310506241.pdf","grobid_xml":"https://content.openalex.org/works/W4310506241.grobid-xml"},"referenced_works_count":13,"referenced_works":["https://openalex.org/W193325121","https://openalex.org/W1539430313","https://openalex.org/W2080592089","https://openalex.org/W2156076209","https://openalex.org/W2273440736","https://openalex.org/W2480840656","https://openalex.org/W2606444700","https://openalex.org/W2792280146","https://openalex.org/W2810876875","https://openalex.org/W3008119296","https://openalex.org/W4224223904","https://openalex.org/W4233225156","https://openalex.org/W4239388251"],"related_works":["https://openalex.org/W1567403027","https://openalex.org/W2622988680","https://openalex.org/W4213129642","https://openalex.org/W2980326929","https://openalex.org/W1688372159","https://openalex.org/W2523205872","https://openalex.org/W1552423701","https://openalex.org/W1527192480","https://openalex.org/W4380790113","https://openalex.org/W1480125535"],"abstract_inverted_index":{"Modern":[0],"programming":[1],"languages":[2],"provide":[3,41,83],"programmers":[4,42,94],"with":[5,43],"rich":[6],"abstractions":[7,131],"for":[8,98,132,155],"data":[9,46,70,89],"collections":[10,34,133],"as":[11,38,134],"part":[12],"of":[13,117,120],"their":[14,99],"standard":[15],"libraries,":[16],"e.g.":[17],"Containers":[18],"in":[19,115],"the":[20,23,28],"C++":[21,136],"STL,":[22],"Java":[24],"Collections":[25,30],"Framework,":[26],"or":[27,150],"Scala":[29],"API.":[31],"Typically,":[32],"these":[33],"frameworks":[35],"are":[36],"organised":[37],"hierarchies":[39],"that":[40,140],"common":[44],"abstract":[45],"types":[47,71],"(ADTs)":[48],"like":[49],"lists,":[50],"queues,":[51],"and":[52,122,138,168,172],"stacks.":[53],"While":[54],"convenient,":[55],"this":[56,76],"approach":[57,87],"introduces":[58],"problems":[59],"which":[60,82],"ultimately":[61],"affect":[62],"application":[63],"performance":[64,160,175],"due":[65],"to":[66,88,144,166,170],"users":[67],"over-specifying":[68],"collection":[69,109],"limiting":[72],"implementation":[73,124],"flexibility.":[74,125],"In":[75,153],"paper,":[77],"we":[78,158],"develop":[79],"Collection":[80,146],"Skeletons":[81,147],"a":[84,135],"novel,":[85],"declarative":[86,130],"collections.":[90],"Using":[91],"our":[92,129],"framework,":[93],"explicitly":[95],"select":[96],"properties":[97,110],"collections,":[100],"thereby":[101],"truly":[102],"decoupling":[103],"specification":[104],"from":[105],"implementation.":[106],"By":[107],"making":[108],"explicit":[111],"immediate":[112],"benefits":[113],"materialise":[114],"form":[116],"reduced":[118],"risk":[119],"over-specification":[121],"increased":[123],"We":[126],"have":[127],"prototyped":[128],"library,":[137],"demonstrate":[139],"benchmark":[141],"applications":[142],"rewritten":[143],"use":[145],"incur":[148],"little":[149],"no":[151],"overhead.":[152],"fact,":[154],"several":[156],"benchmarks,":[157],"observe":[159],"speedups":[161],"(on":[162],"average":[163],"between":[164],"2.57":[165],"2.93,":[167],"up":[169],"16.37)":[171],"also":[173],"enhanced":[174],"portability":[176],"across":[177],"three":[178],"different":[179],"hardware":[180],"platforms.":[181]},"counts_by_year":[{"year":2026,"cited_by_count":2}],"updated_date":"2026-07-06T08:01:05.025921","created_date":"2025-10-10T00:00:00"}
