{"id":"https://openalex.org/W3112414036","doi":"https://doi.org/10.1145/3453483.3454032","title":"Perceus: garbage free reference counting with reuse","display_name":"Perceus: garbage free reference counting with reuse","publication_year":2021,"publication_date":"2021-06-18","ids":{"openalex":"https://openalex.org/W3112414036","doi":"https://doi.org/10.1145/3453483.3454032","mag":"3112414036"},"language":"en","primary_location":{"id":"doi:10.1145/3453483.3454032","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3453483.3454032","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3453483.3454032","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5065315146","display_name":"Alex Reinking","orcid":"https://orcid.org/0000-0003-3285-2112"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Alex Reinking","raw_affiliation_strings":["Microsoft Research, USA"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, USA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008249278","display_name":"Ningning Xie","orcid":"https://orcid.org/0000-0002-5961-1493"},"institutions":[{"id":"https://openalex.org/I889458895","display_name":"University of Hong Kong","ror":"https://ror.org/02zhqgq86","country_code":"HK","type":"education","lineage":["https://openalex.org/I889458895"]}],"countries":["HK"],"is_corresponding":false,"raw_author_name":"Ningning Xie","raw_affiliation_strings":["University of Hong Kong, China"],"affiliations":[{"raw_affiliation_string":"University of Hong Kong, China","institution_ids":["https://openalex.org/I889458895"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5045859619","display_name":"Leonardo de Moura","orcid":"https://orcid.org/0000-0002-5158-4726"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Leonardo de Moura","raw_affiliation_strings":["Microsoft Research, USA"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, USA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5086447301","display_name":"Daan Leijen","orcid":"https://orcid.org/0000-0003-1027-5430"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Daan Leijen","raw_affiliation_strings":["Microsoft Research, USA"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, USA","institution_ids":["https://openalex.org/I1290206253"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5065315146"],"corresponding_institution_ids":["https://openalex.org/I1290206253"],"apc_list":null,"apc_paid":null,"fwci":2.6597,"has_fulltext":false,"cited_by_count":29,"citation_normalized_percentile":{"value":0.91325721,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"96","last_page":"111"},"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.9997000098228455,"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.9997000098228455,"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.9994000196456909,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9977999925613403,"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.853474497795105},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.7789877653121948},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.776677668094635},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.7727892398834229},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6911723613739014},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.538937509059906},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4602817893028259},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.4333469569683075},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4308052957057953},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.36917048692703247}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.853474497795105},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.7789877653121948},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.776677668094635},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.7727892398834229},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6911723613739014},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.538937509059906},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4602817893028259},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4333469569683075},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4308052957057953},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.36917048692703247},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3453483.3454032","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3453483.3454032","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3453483.3454032","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3453483.3454032","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[{"display_name":"Quality Education","score":0.4399999976158142,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":43,"referenced_works":["https://openalex.org/W1491698270","https://openalex.org/W1606211906","https://openalex.org/W1965601529","https://openalex.org/W1980939032","https://openalex.org/W1981277157","https://openalex.org/W1986388229","https://openalex.org/W1992124283","https://openalex.org/W2009098105","https://openalex.org/W2021615496","https://openalex.org/W2027952317","https://openalex.org/W2045255985","https://openalex.org/W2048706733","https://openalex.org/W2079043385","https://openalex.org/W2086571520","https://openalex.org/W2100357382","https://openalex.org/W2109375905","https://openalex.org/W2121408440","https://openalex.org/W2126265337","https://openalex.org/W2129902163","https://openalex.org/W2130376240","https://openalex.org/W2142590632","https://openalex.org/W2158094629","https://openalex.org/W2161318861","https://openalex.org/W2164039975","https://openalex.org/W2475728800","https://openalex.org/W2561708922","https://openalex.org/W2562187073","https://openalex.org/W2737306518","https://openalex.org/W2752908210","https://openalex.org/W2762233280","https://openalex.org/W2766220735","https://openalex.org/W2896242475","https://openalex.org/W2912949875","https://openalex.org/W2956068069","https://openalex.org/W3006963970","https://openalex.org/W3039827481","https://openalex.org/W3040288220","https://openalex.org/W3046307400","https://openalex.org/W3101155261","https://openalex.org/W3121479906","https://openalex.org/W3138411814","https://openalex.org/W4296694382","https://openalex.org/W7005497641"],"related_works":["https://openalex.org/W2352852854","https://openalex.org/W2287663836","https://openalex.org/W3151208170","https://openalex.org/W2380051080","https://openalex.org/W1545727638","https://openalex.org/W1986436883","https://openalex.org/W399404953","https://openalex.org/W31759149","https://openalex.org/W1986647922","https://openalex.org/W4243566535"],"abstract_inverted_index":{"We":[0,94,116],"introduce":[1],"Perceus,":[2,120],"an":[3],"algorithm":[4],"for":[5,50],"precise":[6,24],"reference":[7,25,100],"counting":[8,26,101],"with":[9,19,78,131],"reuse":[10,46,82],"and":[11,107,113,128],"specialization.":[12],"Starting":[13],"from":[14],"a":[15,60,90,96,103],"functional":[16,92],"core":[17],"language":[18],"explicit":[20],"control-flow,":[21],"Perceus":[22,110],"emits":[23],"instructions":[27],"such":[28],"that":[29,48,64,109,119],"(cycle-free)":[30],"programs":[31],"are":[32,39],"_garbage":[33],"free_,":[34],"where":[35],"only":[36],"live":[37],"references":[38],"retained.":[40],"This":[41,56],"enables":[42,59,75,84],"further":[43],"optimizations,":[44],"like":[45,72],"analysis":[47,83],"allows":[49],"guaranteed":[51],"in-place":[52,86],"updates":[53],"at":[54],"runtime.":[55],"in":[57,89,102,123],"turn":[58],"novel":[61,97],"programming":[62],"paradigm":[63],"we":[65],"call":[66],"_functional":[67],"but":[68],"in-place_":[69],"(FBIP).":[70],"Much":[71],"tail-call":[73],"optimization":[74],"writing":[76,85],"loops":[77],"regular":[79],"function":[80],"calls,":[81],"mutating":[87],"algorithms":[88],"purely":[91],"way.":[93],"give":[95],"formalization":[98],"of":[99],"linear":[104],"resource":[105],"calculus,":[106],"prove":[108],"is":[111,129],"sound":[112],"garbage":[114],"free.":[115],"show":[117],"evidence":[118],"as":[121],"implemented":[122],"Koka,":[124],"has":[125],"good":[126],"performance":[127],"competitive":[130],"other":[132],"state-of-the-art":[133],"memory":[134],"collectors.":[135]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":8},{"year":2024,"cited_by_count":8},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":6},{"year":2021,"cited_by_count":2}],"updated_date":"2026-04-11T08:14:18.477133","created_date":"2025-10-10T00:00:00"}
