{"id":"https://openalex.org/W4415005853","doi":"https://doi.org/10.1145/3763112","title":"What\u2019s in the Box: Ergonomic and Expressive Capture Tracking over Generic Data Structures","display_name":"What\u2019s in the Box: Ergonomic and Expressive Capture Tracking over Generic Data Structures","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4415005853","doi":"https://doi.org/10.1145/3763112"},"language":"en","primary_location":{"id":"doi:10.1145/3763112","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763112","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"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 ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3763112","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5088739065","display_name":"Yichen Xu","orcid":"https://orcid.org/0000-0003-2089-6767"},"institutions":[{"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"],"is_corresponding":false,"raw_author_name":"Yichen Xu","raw_affiliation_strings":["EPFL, Lausanne, Switzerland"],"raw_orcid":"https://orcid.org/0000-0003-2089-6767","affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5019063975","display_name":"Oliver Bra\u010devac","orcid":"https://orcid.org/0000-0003-3569-4869"},"institutions":[{"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"],"is_corresponding":false,"raw_author_name":"Oliver Bra\u010devac","raw_affiliation_strings":["EPFL, Lausanne, Switzerland"],"raw_orcid":"https://orcid.org/0000-0003-3569-4869","affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5107187319","display_name":"Cao Nguyen Pham","orcid":null},"institutions":[{"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"],"is_corresponding":false,"raw_author_name":"Cao Nguyen Pham","raw_affiliation_strings":["EPFL, Lausanne, Switzerland"],"raw_orcid":"https://orcid.org/0009-0005-2543-3309","affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"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/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"],"is_corresponding":false,"raw_author_name":"Martin Odersky","raw_affiliation_strings":["EPFL, Lausanne, Switzerland"],"raw_orcid":"https://orcid.org/0009-0005-3923-8993","affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":4.7179,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.95485909,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":98,"max":99},"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"1726","last_page":"1753"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11800","display_name":"User Authentication and Security Systems","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T11800","display_name":"User Authentication and Security Systems","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T12016","display_name":"Web Data Mining and Analysis","score":0.996399998664856,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10317","display_name":"Advanced Database Systems and Queries","score":0.9962999820709229,"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/scala","display_name":"Scala","score":0.8284000158309937},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.6082000136375427},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.45190000534057617},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.38659998774528503},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.37929999828338623},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.3707999885082245},{"id":"https://openalex.org/keywords/satisfiability-modulo-theories","display_name":"Satisfiability modulo theories","score":0.36550000309944153},{"id":"https://openalex.org/keywords/sketch","display_name":"Sketch","score":0.35499998927116394},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.35260000824928284},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.34060001373291016}],"concepts":[{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.8284000158309937},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8065000176429749},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6155999898910522},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.6082000136375427},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.45190000534057617},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.38659998774528503},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.37929999828338623},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.3707999885082245},{"id":"https://openalex.org/C164155591","wikidata":"https://www.wikidata.org/wiki/Q2067766","display_name":"Satisfiability modulo theories","level":2,"score":0.36550000309944153},{"id":"https://openalex.org/C2779231336","wikidata":"https://www.wikidata.org/wiki/Q7534724","display_name":"Sketch","level":2,"score":0.35499998927116394},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.35260000824928284},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.34389999508857727},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.34060001373291016},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.32899999618530273},{"id":"https://openalex.org/C45357846","wikidata":"https://www.wikidata.org/wiki/Q2001982","display_name":"Notation","level":2,"score":0.3237999975681305},{"id":"https://openalex.org/C2780575108","wikidata":"https://www.wikidata.org/wiki/Q7316652","display_name":"Retargeting","level":2,"score":0.3163999915122986},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.31209999322891235},{"id":"https://openalex.org/C203265346","wikidata":"https://www.wikidata.org/wiki/Q11387554","display_name":"Proof assistant","level":3,"score":0.3066999912261963},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.3041999936103821},{"id":"https://openalex.org/C159718280","wikidata":"https://www.wikidata.org/wiki/Q5526353","display_name":"Gas meter prover","level":3,"score":0.30379998683929443},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.29190000891685486},{"id":"https://openalex.org/C33762810","wikidata":"https://www.wikidata.org/wiki/Q461671","display_name":"Data integrity","level":2,"score":0.28360000252723694},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.28189998865127563},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.2815000116825104},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.2745000123977661},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.2732999920845032},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.27160000801086426},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.2689000070095062},{"id":"https://openalex.org/C2777210771","wikidata":"https://www.wikidata.org/wiki/Q4927124","display_name":"Block (permutation group theory)","level":2,"score":0.2653000056743622},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.2630000114440918},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.25940001010894775},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.25940001010894775},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.25540000200271606},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.25529998540878296},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.25529998540878296},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.2531000077724457},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.25049999356269836}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3763112","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763112","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"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 ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2509.07609","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2509.07609","pdf_url":"https://arxiv.org/pdf/2509.07609","source":{"id":"https://openalex.org/S4393918464","display_name":"ArXiv.org","issn_l":"2331-8422","issn":["2331-8422"],"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":null,"raw_type":"text"},{"id":"pmh:oai:infoscience.epfl.ch:20.500.14299/254902","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/254902","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":null,"raw_type":"research article"}],"best_oa_location":{"id":"doi:10.1145/3763112","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763112","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"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 ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W1491698270","https://openalex.org/W1963569294","https://openalex.org/W1981962444","https://openalex.org/W1990204174","https://openalex.org/W2002529995","https://openalex.org/W2013892605","https://openalex.org/W2057292961","https://openalex.org/W2077987280","https://openalex.org/W2087875803","https://openalex.org/W2118002698","https://openalex.org/W2131067178","https://openalex.org/W2136839747","https://openalex.org/W2150922760","https://openalex.org/W2155656276","https://openalex.org/W2157514610","https://openalex.org/W2476818328","https://openalex.org/W2762273594","https://openalex.org/W2772486871","https://openalex.org/W3015096137","https://openalex.org/W3107145433","https://openalex.org/W3109978983","https://openalex.org/W3205248599","https://openalex.org/W4206781617","https://openalex.org/W4225138414","https://openalex.org/W4226204098","https://openalex.org/W4250979901","https://openalex.org/W4386556239","https://openalex.org/W4386711821","https://openalex.org/W4387667131","https://openalex.org/W4390605114","https://openalex.org/W4396214217","https://openalex.org/W4399851335","https://openalex.org/W4400439912","https://openalex.org/W4401596829","https://openalex.org/W4402527013","https://openalex.org/W4409311646","https://openalex.org/W7077071578","https://openalex.org/W7080755916"],"related_works":[],"abstract_inverted_index":{"Capturing":[0],"types":[1,77,126,137,171],"in":[2,31,93,127,138,152,200,237,247],"Scala":[3,201,211],"unify":[4],"static":[5],"effect":[6,15],"and":[7,109,159,180,207,214,223,243],"resource":[8],"tracking":[9,28],"with":[10,17,107,240],"object":[11],"capabilities,":[12],"enabling":[13],"lightweight":[14,167],"polymorphism":[16],"minimal":[18,241],"notational":[19,245],"overhead.":[20],"However,":[21],"their":[22],"expressiveness":[23],"has":[24],"been":[25],"insufficient":[26],"for":[27,48,75,83,90],"capabilities":[29,59,85,230],"embedded":[30],"generic":[32,125],"data":[33],"structures,":[34],"preventing":[35],"them":[36],"from":[37,54],"scaling":[38],"to":[39,57,188,219],"the":[40,55,61,80,94,99,122,139,146,165,209,232],"standard":[41],"collections":[42,212],"library":[43,213,218],"\u2013":[44],"an":[45,215],"essential":[46],"prerequisite":[47],"broader":[49],"adoption.":[50],"This":[51,67],"limitation":[52],"stems":[53],"inability":[56],"name":[58],"within":[60],"system\u2019s":[62],"notion":[63,102],"of":[64,124,149,156,169,197,234,251],"box":[65],"types.":[66],"paper":[68],"develops":[69],"System":[70,150,162,205],"Capless,":[71],"a":[72,87,104,128,177,194,248],"new":[73,105],"foundation":[74],"capturing":[76,170],"that":[78,130,228],"provides":[79],"theoretical":[81],"basis":[82],"reach":[84,229],"(rcaps),":[86],"novel":[88],"mechanism":[89],"naming":[91],"\u201cwhat\u2019s":[92],"box\u201d.":[95],"The":[96],"calculus":[97],"refines":[98],"universal":[100,110],"capability":[101],"into":[103],"scheme":[106],"existential":[108,135],"capture":[111,119,136,198,235],"set":[112],"quantification.":[113],"Intuitively,":[114],"rcaps":[115],"witness":[116],"existentially":[117],"quantified":[118],"sets":[120],"inside":[121],"boxes":[123],"way":[129],"does":[131],"not":[132],"require":[133],"exposing":[134],"surface":[140],"language.":[141],"We":[142],"have":[143],"fully":[144,183],"mechanized":[145],"formal":[147],"metatheory":[148],"Capless":[151,163,206],"Lean,":[153],"including":[154],"proofs":[155],"type":[157],"soundness":[158],"scope":[160],"safety.":[161],"supports":[164],"same":[166],"notation":[168],"plus":[172],"rcaps,":[173],"as":[174],"certified":[175],"by":[176],"type-preserving":[178],"translation,":[179],"also":[181],"enables":[182],"optional":[184],"explicit":[185],"capture-set":[186],"quantification":[187],"increase":[189],"expressiveness.":[190],"Finally,":[191],"we":[192],"present":[193],"full":[195],"reimplementation":[196],"checking":[199,236],"3":[202],"based":[203],"on":[204],"migrate":[208],"entire":[210],"asynchronous":[216],"programming":[217],"evaluate":[220],"its":[221],"practicality":[222],"ergonomics.":[224],"Our":[225],"results":[226],"demonstrate":[227],"enable":[231],"adoption":[233],"production":[238],"code":[239],"changes":[242],"minimal-to-zero":[244],"overhead":[246],"vast":[249],"majority":[250],"cases.":[252]},"counts_by_year":[{"year":2026,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
