{"id":"https://openalex.org/W4283653535","doi":"https://doi.org/10.22152/programming-journal.org/2023/7/2","title":"Gradual Soundness: Lessons from Static Python","display_name":"Gradual Soundness: Lessons from Static Python","publication_year":2022,"publication_date":"2022-06-15","ids":{"openalex":"https://openalex.org/W4283653535","doi":"https://doi.org/10.22152/programming-journal.org/2023/7/2"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2023/7/2","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2023/7/2","pdf_url":"https://arxiv.org/pdf/2206.13831v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://arxiv.org/pdf/2206.13831v1","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5066442933","display_name":"Kuang-Chen Lu","orcid":"https://orcid.org/0000-0001-6502-9275"},"institutions":[{"id":"https://openalex.org/I27804330","display_name":"Brown University","ror":"https://ror.org/05gq02987","country_code":"US","type":"education","lineage":["https://openalex.org/I27804330"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kuang-Chen Lu","raw_affiliation_strings":["Brown University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Brown University, USA","institution_ids":["https://openalex.org/I27804330"]}]},{"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/I27804330","display_name":"Brown University","ror":"https://ror.org/05gq02987","country_code":"US","type":"education","lineage":["https://openalex.org/I27804330"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ben Greenman","raw_affiliation_strings":["Brown University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Brown University, USA","institution_ids":["https://openalex.org/I27804330"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5109508115","display_name":"Carl G. Meyer","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Carl Meyer","raw_affiliation_strings":["Meta, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Meta, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012426066","display_name":"Dino Viehland","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Dino Viehland","raw_affiliation_strings":["Meta, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Meta, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087299692","display_name":"Aniket Panse","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Aniket Panse","raw_affiliation_strings":["Meta, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Meta, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5024394821","display_name":"Shriram Krishnamurthi","orcid":"https://orcid.org/0000-0001-5184-1975"},"institutions":[{"id":"https://openalex.org/I27804330","display_name":"Brown University","ror":"https://ror.org/05gq02987","country_code":"US","type":"education","lineage":["https://openalex.org/I27804330"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Shriram Krishnamurthi","raw_affiliation_strings":["Brown University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Brown University, USA","institution_ids":["https://openalex.org/I27804330"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.581,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.71196104,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":"7","issue":"1","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T13650","display_name":"Computational Physics and Python Applications","score":0.9889000058174133,"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/T13650","display_name":"Computational Physics and Python Applications","score":0.9889000058174133,"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.9606000185012817,"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/T10260","display_name":"Software Engineering Research","score":0.944100022315979,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.9017138481140137},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.8294109106063843},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7976717948913574},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7354860305786133},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.513619601726532},{"id":"https://openalex.org/keywords/test-suite","display_name":"Test suite","score":0.47871994972229004},{"id":"https://openalex.org/keywords/interoperability","display_name":"Interoperability","score":0.47655966877937317},{"id":"https://openalex.org/keywords/suite","display_name":"Suite","score":0.4209050238132477},{"id":"https://openalex.org/keywords/test-case","display_name":"Test case","score":0.2220464050769806},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.214117169380188}],"concepts":[{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.9017138481140137},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8294109106063843},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7976717948913574},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7354860305786133},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.513619601726532},{"id":"https://openalex.org/C151552104","wikidata":"https://www.wikidata.org/wiki/Q7705809","display_name":"Test suite","level":4,"score":0.47871994972229004},{"id":"https://openalex.org/C20136886","wikidata":"https://www.wikidata.org/wiki/Q749647","display_name":"Interoperability","level":2,"score":0.47655966877937317},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.4209050238132477},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.2220464050769806},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.214117169380188},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.0},{"id":"https://openalex.org/C95457728","wikidata":"https://www.wikidata.org/wiki/Q309","display_name":"History","level":0,"score":0.0},{"id":"https://openalex.org/C152877465","wikidata":"https://www.wikidata.org/wiki/Q208042","display_name":"Regression analysis","level":2,"score":0.0},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2023/7/2","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2023/7/2","pdf_url":"https://arxiv.org/pdf/2206.13831v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2206.13831","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2206.13831","pdf_url":"https://arxiv.org/pdf/2206.13831","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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"}],"best_oa_location":{"id":"doi:10.22152/programming-journal.org/2023/7/2","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2023/7/2","pdf_url":"https://arxiv.org/pdf/2206.13831v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4283653535.pdf","grobid_xml":"https://content.openalex.org/works/W4283653535.grobid-xml"},"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2466303427","https://openalex.org/W1511249877","https://openalex.org/W1578828174","https://openalex.org/W2950376466","https://openalex.org/W2000943029","https://openalex.org/W2621980927","https://openalex.org/W1485837041","https://openalex.org/W3204955359","https://openalex.org/W2038379963","https://openalex.org/W4251258648"],"abstract_inverted_index":{"Context":[0],"Gradually-typed":[1],"languages":[2,361],"allow":[3,35],"typed":[4,130],"and":[5,32,49,73,91,101,116,129,141,161,187,231,260,266,292,362],"untyped":[6,127],"code":[7,128],"to":[8,52,80,118,122,152,168,194,282,307,338,350,367],"interoperate,":[9],"but":[10,105],"typically":[11],"come":[12],"with":[13],"significant":[14],"drawbacks.In":[15],"some":[16],"languages,":[17],"the":[18,89,95,124,135,147,162,177,196,200,211,214,245,269,280,284,288,303,311,330],"types":[19,82,97,109,189],"are":[20,110,297,363],"unreliable;":[21],"in":[22,76,112,137,244,257,302,310,318],"others,":[23],"communication":[24],"across":[25],"type":[26],"boundaries":[27],"can":[28,209],"be":[29],"extremely":[30],"expensive;":[31],"still":[33],"others":[34],"only":[36],"limited":[37],"forms":[38],"of":[39,88,149,185,199,213,228,235,239,252,279,287],"interoperability.The":[40],"research":[41],"community":[42],"is":[43,83,175,190,255,329],"actively":[44],"seeking":[45,364],"a":[46,60,85,113,143,183,217,226,232,276,315,339,365],"sound,":[47,71],"fast,":[48,72],"expressive":[50,75],"approach":[51,79,151,291],"gradual":[53,81,153,178,333,360],"typing.Inquiry":[54],"This":[55],"paper":[56,222,274],"describes":[57,223],"Static":[58,163,229,236,253,270,289,308,327],"Python,":[59],"language":[61,136,334,346],"developed":[62],"by":[63],"engineers":[64],"at":[65,323],"Instagram":[66,304],"that":[67,145,176,180,205],"has":[68,342],"proven":[69],"itself":[70],"reasonably":[74],"production.Static":[77],"Python's":[78],"essentially":[84],"programmer-tunable":[86],"combination":[87],"concrete":[90,131,186,201],"transient":[92,188,215],"approaches":[93],"from":[94,182,268],"literature.Concrete":[96],"provide":[98],"full":[99],"soundness":[100,179,264],"low":[102],"performance":[103,233,295],"overhead,":[104],"impose":[106],"nonlocal":[107],"constraints.Transient":[108],"sound":[111,332],"shallow":[114],"sense":[115],"easier":[117],"use;":[119],"they":[120],"help":[121],"bridge":[123],"gap":[125],"between":[126],"code.Approach":[132],"We":[133],"evaluate":[134],"its":[138,150,293,352],"current":[139],"state":[140],"develop":[142,169],"model":[144,227,251,281],"captures":[146],"essence":[148],"types.We":[154],"draw":[155],"upon":[156],"personal":[157],"communication,":[158],"bug":[159],"reports,":[160],"Python":[164,230,254,271,290,309,328],"regression":[165,272],"test":[166],"suite":[167],"this":[170,221],"model.Knowledge":[171],"Our":[172,250],"main":[173,285],"finding":[174],"arises":[181],"mix":[184],"an":[191],"effective":[192],"way":[193],"lower":[195],"maintenance":[197],"cost":[198],"approach.We":[202],"also":[203],"find":[204],"methodbased":[206],"JIT":[207],"technology":[208],"eliminate":[210],"costs":[212],"approach.On":[216],"more":[218],"technical":[219],"level,":[220],"two":[224],"contributions:":[225],"evaluation":[234],"Python.The":[237],"process":[238],"formalization":[240],"found":[241],"several":[242],"errors":[243],"implementation,":[246],"including":[247],"fatal":[248],"errors.Grounding":[249],"implemented":[256],"PLT":[258],"Redex":[259],"tested":[261],"using":[262],"property-based":[263],"tests":[265,267],"suite.This":[273],"includes":[275],"small":[277],"core":[278],"convey":[283],"ideas":[286],"soundness.Our":[294],"claims":[296],"based":[298],"on":[299],"production":[300],"experience":[301],"web":[305],"server.Migrations":[306],"server":[312],"have":[313],"caused":[314],".%":[316],"increase":[317],"requests":[319],"handled":[320],"per":[321],"second":[322],"maximum":[324],"CPU":[325],"load.Importance":[326],"first":[331],"whose":[335],"piece-meal":[336],"application":[337],"realistic":[340],"codebase":[341],"consistently":[343],"improved":[344],"performance.Other":[345],"designers":[347],"may":[348],"wish":[349],"replicate":[351],"approach,":[353],"especially":[354],"those":[355],"who":[356],"currently":[357],"maintain":[358],"unsound":[359],"path":[366],"soundness.":[368]},"counts_by_year":[{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2}],"updated_date":"2026-08-05T07:39:15.569665","created_date":"2025-10-10T00:00:00"}
