{"id":"https://openalex.org/W2898188067","doi":"https://doi.org/10.1145/3276503","title":"Collapsible contracts: fixing a pathology of gradual typing","display_name":"Collapsible contracts: fixing a pathology of gradual typing","publication_year":2018,"publication_date":"2018-10-24","ids":{"openalex":"https://openalex.org/W2898188067","doi":"https://doi.org/10.1145/3276503","mag":"2898188067"},"language":"en","primary_location":{"id":"doi:10.1145/3276503","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276503","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276503","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":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3276503","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5003099088","display_name":"Daniel Feltey","orcid":null},"institutions":[{"id":"https://openalex.org/I111979921","display_name":"Northwestern University","ror":"https://ror.org/000e0be47","country_code":"US","type":"education","lineage":["https://openalex.org/I111979921"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Daniel Feltey","raw_affiliation_strings":["Northwestern University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Northwestern University, USA","institution_ids":["https://openalex.org/I111979921"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002785598","display_name":"Ben Greenman","orcid":"https://orcid.org/0000-0001-7078-9287"},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ben Greenman","raw_affiliation_strings":["Northeastern University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Northeastern University, USA","institution_ids":["https://openalex.org/I12912129"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087361825","display_name":"Christophe Scholliers","orcid":"https://orcid.org/0000-0002-2837-4763"},"institutions":[{"id":"https://openalex.org/I2801227569","display_name":"Ghent University Hospital","ror":"https://ror.org/00xmkp704","country_code":"BE","type":"healthcare","lineage":["https://openalex.org/I2801227569"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Christophe Scholliers","raw_affiliation_strings":["Ghent University, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Ghent University, Belgium","institution_ids":["https://openalex.org/I2801227569"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081388086","display_name":"Robert Bruce Findler","orcid":null},"institutions":[{"id":"https://openalex.org/I111979921","display_name":"Northwestern University","ror":"https://ror.org/000e0be47","country_code":"US","type":"education","lineage":["https://openalex.org/I111979921"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Robert Bruce Findler","raw_affiliation_strings":["Northwestern University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Northwestern University, USA","institution_ids":["https://openalex.org/I111979921"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5022567249","display_name":"Vincent St-Amour","orcid":null},"institutions":[{"id":"https://openalex.org/I111979921","display_name":"Northwestern University","ror":"https://ror.org/000e0be47","country_code":"US","type":"education","lineage":["https://openalex.org/I111979921"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Vincent St-Amour","raw_affiliation_strings":["Northwestern University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Northwestern University, USA","institution_ids":["https://openalex.org/I111979921"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.0275,"has_fulltext":true,"cited_by_count":22,"citation_normalized_percentile":{"value":0.9005585,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":91,"max":99},"biblio":{"volume":"2","issue":"OOPSLA","first_page":"1","last_page":"27"},"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.9990000128746033,"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.9990000128746033,"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.9976999759674072,"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.9957000017166138,"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.6997449398040771},{"id":"https://openalex.org/keywords/typing","display_name":"Typing","score":0.6477077007293701},{"id":"https://openalex.org/keywords/racket","display_name":"Racket","score":0.6309894323348999},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5850217342376709},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.467481791973114},{"id":"https://openalex.org/keywords/redundancy","display_name":"Redundancy (engineering)","score":0.444657564163208},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.35791680216789246},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.17466610670089722},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.14610758423805237},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.11062034964561462}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6997449398040771},{"id":"https://openalex.org/C2781209916","wikidata":"https://www.wikidata.org/wiki/Q3215756","display_name":"Typing","level":2,"score":0.6477077007293701},{"id":"https://openalex.org/C2778707667","wikidata":"https://www.wikidata.org/wiki/Q1254148","display_name":"Racket","level":3,"score":0.6309894323348999},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5850217342376709},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.467481791973114},{"id":"https://openalex.org/C152124472","wikidata":"https://www.wikidata.org/wiki/Q1204361","display_name":"Redundancy (engineering)","level":2,"score":0.444657564163208},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.35791680216789246},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.17466610670089722},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.14610758423805237},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.11062034964561462},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C28490314","wikidata":"https://www.wikidata.org/wiki/Q189436","display_name":"Speech recognition","level":1,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C65655974","wikidata":"https://www.wikidata.org/wiki/Q14867674","display_name":"Swing","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3276503","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276503","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276503","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:archive.ugent.be:8622073","is_oa":true,"landing_page_url":"https://biblio.ugent.be/publication/8622073","pdf_url":"https://biblio.ugent.be/publication/8622073/file/01GSD8CXDYQXW0V0T6R803QJMW.pdf","source":{"id":"https://openalex.org/S4306400478","display_name":"Ghent University Academic Bibliography (Ghent University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I32597200","host_organization_name":"Ghent University","host_organization_lineage":["https://openalex.org/I32597200"],"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":"ISSN: 2475-1421","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1145/3276503","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276503","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276503","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":[{"display_name":"Partnerships for the goals","score":0.41999998688697815,"id":"https://metadata.un.org/sdg/17"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2898188067.pdf","grobid_xml":"https://content.openalex.org/works/W2898188067.grobid-xml"},"referenced_works_count":35,"referenced_works":["https://openalex.org/W25798763","https://openalex.org/W1993335798","https://openalex.org/W2003969655","https://openalex.org/W2020899082","https://openalex.org/W2052973434","https://openalex.org/W2073686054","https://openalex.org/W2088295995","https://openalex.org/W2091335641","https://openalex.org/W2110549939","https://openalex.org/W2111531191","https://openalex.org/W2127402358","https://openalex.org/W2128303158","https://openalex.org/W2133828278","https://openalex.org/W2165046128","https://openalex.org/W2169661165","https://openalex.org/W2218092420","https://openalex.org/W2252374344","https://openalex.org/W2295415424","https://openalex.org/W2337196081","https://openalex.org/W2561856298","https://openalex.org/W2728359856","https://openalex.org/W2760972573","https://openalex.org/W2764150781","https://openalex.org/W2781403051","https://openalex.org/W2788315908","https://openalex.org/W2810326593","https://openalex.org/W2883248588","https://openalex.org/W2886526538","https://openalex.org/W2911692446","https://openalex.org/W2962829798","https://openalex.org/W4246430693","https://openalex.org/W6679419702","https://openalex.org/W6691653927","https://openalex.org/W6691971355","https://openalex.org/W6739006059"],"related_works":["https://openalex.org/W4243252198","https://openalex.org/W2135396778","https://openalex.org/W1527862632","https://openalex.org/W2118300983","https://openalex.org/W2112962394","https://openalex.org/W3137189469","https://openalex.org/W2740990710","https://openalex.org/W4235530921","https://openalex.org/W1538624230","https://openalex.org/W4229928981"],"abstract_inverted_index":{"The":[0,156],"promise":[1],"of":[2,12,18,25,51,79,109,116,140,149,179,189,214,230,241,263],"gradual":[3,52,64,80,121,201,242,264],"typing":[4,81,122,202,243],"is":[5,29,195],"that":[6,76,129,152,207,238,252],"programmers":[7],"should":[8],"get":[9],"the":[10,15,22,48,77,106,114,177,190,198,231,239,261],"best":[11],"both":[13],"worlds:":[14],"static":[16,19],"guarantees":[17],"types,":[20],"and":[21,90,171,174],"dynamic":[23],"flexibility":[24],"untyped":[26,91],"programming.":[27],"This":[28,135],"an":[30,147,225],"enticing":[31],"benefit,":[32],"but":[33,251],"one":[34,67,138,256],"that,":[35],"in":[36,44,126,143,197,217,244,259],"practice,":[37],"may":[38],"carry":[39],"significant":[40],"costs.":[41],"Significant":[42],"enough,":[43],"fact,":[45],"to":[46,228],"threaten":[47],"very":[49,107],"practicality":[50],"typing;":[53],"slowdowns":[54,101],"as":[55,57,61,187],"high":[56],"120x":[58],"are":[59,82,255],"reported":[60],"arising":[62],"from":[63],"typing.":[65,265],"If":[66],"examines":[68],"these":[69,110,144],"results":[70,235],"closely,":[71],"though,":[72],"it":[73],"becomes":[74],"clear":[75],"costs":[78],"not":[83,223],"evenly":[84],"distributed.":[85],"Indeed,":[86],"while":[87,222],"mixing":[88],"typed":[89],"code":[92],"almost":[93],"invariably":[94],"carries":[95],"non-trivial":[96],"costs,":[97],"many":[98,249],"truly":[99],"deal-breaking":[100],"exhibit":[102],"pathological":[103,111,145,215],"performance.":[104,134],"Unfortunately,":[105],"presence":[108],"cases---and":[112],"therefore":[113],"possibility":[115],"hitting":[117],"them":[118],"during":[119],"development---makes":[120],"a":[123,159,212],"risky":[124],"proposition":[125],"any":[127,229],"setting":[128],"even":[130],"remotely":[131],"cares":[132],"about":[133],"work":[136,157],"attacks":[137],"source":[139],"large":[141],"overheads":[142],"cases:":[146],"accumulation":[148],"contract":[150,163,180,192],"wrappers":[151],"perform":[153],"redundant":[154],"checks.":[155],"introduces":[158],"novel":[160],"strategy":[161,186,209],"for":[162,169,248],"checking---collapsible":[164],"contracts---which":[165],"eliminates":[166],"this":[167,184],"redundancy":[168],"function":[170],"vector":[172],"contracts":[173,254],"drastically":[175],"reduces":[176],"overhead":[178,227],"wrappers.":[181],"We":[182],"implemented":[183],"checking":[185],"part":[188],"Racket":[191,200,245],"system,":[193],"which":[194],"used":[196],"Typed":[199],"system.":[203],"Our":[204,234],"experiments":[205],"show":[206,237],"our":[208],"successfully":[210],"brings":[211],"class":[213],"cases":[216],"line":[218],"with":[219],"normal":[220],"cases,":[221],"introducing":[224],"undue":[226],"other":[232],"cases.":[233],"also":[236],"performance":[240],"remains":[246],"prohibitive":[247],"programs,":[250],"collapsible":[253],"essential":[257],"ingredient":[258],"reducing":[260],"cost":[262]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":6}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
