{"id":"https://openalex.org/W4415046996","doi":"https://doi.org/10.1145/3758316.3765483","title":"Type Checking for Python using Intersection Types","display_name":"Type Checking for Python using Intersection Types","publication_year":2025,"publication_date":"2025-10-10","ids":{"openalex":"https://openalex.org/W4415046996","doi":"https://doi.org/10.1145/3758316.3765483"},"language":"en","primary_location":{"id":"doi:10.1145/3758316.3765483","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3758316.3765483","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":"Companion Proceedings of the 2025 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3758316.3765483","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5119942859","display_name":"Mingyeong Jeong","orcid":null},"institutions":[{"id":"https://openalex.org/I196345858","display_name":"Chungnam National University","ror":"https://ror.org/0227as991","country_code":"KR","type":"education","lineage":["https://openalex.org/I196345858"]}],"countries":["KR"],"is_corresponding":false,"raw_author_name":"Mingyeong Jeong","raw_affiliation_strings":["Chungnam National University, Daejeon, Republic of Korea"],"raw_orcid":"https://orcid.org/0009-0004-1388-6047","affiliations":[{"raw_affiliation_string":"Chungnam National University, Daejeon, Republic of Korea","institution_ids":["https://openalex.org/I196345858"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5100402785","display_name":"Sungho Lee","orcid":"https://orcid.org/0000-0002-7107-5590"},"institutions":[{"id":"https://openalex.org/I196345858","display_name":"Chungnam National University","ror":"https://ror.org/0227as991","country_code":"KR","type":"education","lineage":["https://openalex.org/I196345858"]}],"countries":["KR"],"is_corresponding":false,"raw_author_name":"Sungho Lee","raw_affiliation_strings":["Chungnam National University, Daejeon, Republic of Korea"],"raw_orcid":"https://orcid.org/0000-0002-7107-5590","affiliations":[{"raw_affiliation_string":"Chungnam National University, Daejeon, Republic of Korea","institution_ids":["https://openalex.org/I196345858"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I196345858"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"52","last_page":"53"},"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.9919999837875366,"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.9919999837875366,"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.9858999848365784,"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.9743000268936157,"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/python","display_name":"Python (programming language)","score":0.6495000123977661},{"id":"https://openalex.org/keywords/merge","display_name":"Merge (version control)","score":0.5746999979019165},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.49050000309944153},{"id":"https://openalex.org/keywords/merge-algorithm","display_name":"Merge algorithm","score":0.4490000009536743},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.44269999861717224},{"id":"https://openalex.org/keywords/intersection","display_name":"Intersection (aeronautics)","score":0.4059000015258789},{"id":"https://openalex.org/keywords/dependent-type","display_name":"Dependent type","score":0.3792000114917755},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.3544999957084656}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7426999807357788},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7264999747276306},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.6495000123977661},{"id":"https://openalex.org/C197129107","wikidata":"https://www.wikidata.org/wiki/Q1921621","display_name":"Merge (version control)","level":2,"score":0.5746999979019165},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.49050000309944153},{"id":"https://openalex.org/C140086265","wikidata":"https://www.wikidata.org/wiki/Q11341754","display_name":"Merge algorithm","level":4,"score":0.4490000009536743},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.44269999861717224},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.44209998846054077},{"id":"https://openalex.org/C64543145","wikidata":"https://www.wikidata.org/wiki/Q162942","display_name":"Intersection (aeronautics)","level":2,"score":0.4059000015258789},{"id":"https://openalex.org/C20528804","wikidata":"https://www.wikidata.org/wiki/Q997433","display_name":"Dependent type","level":3,"score":0.3792000114917755},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.37630000710487366},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.3544999957084656},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.3476000130176544},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.33000001311302185},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.322299987077713},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.3091000020503998},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.30640000104904175},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.3061000108718872},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.2874999940395355},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.27959999442100525},{"id":"https://openalex.org/C28719098","wikidata":"https://www.wikidata.org/wiki/Q44946","display_name":"Point (geometry)","level":2,"score":0.26249998807907104},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.2599000036716461},{"id":"https://openalex.org/C88482812","wikidata":"https://www.wikidata.org/wiki/Q6453666","display_name":"Modular programming","level":2,"score":0.2531999945640564}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3758316.3765483","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3758316.3765483","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":"Companion Proceedings of the 2025 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3758316.3765483","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3758316.3765483","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":"Companion Proceedings of the 2025 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":6,"referenced_works":["https://openalex.org/W72920030","https://openalex.org/W1494768888","https://openalex.org/W2035206966","https://openalex.org/W3137596000","https://openalex.org/W3163202066","https://openalex.org/W4308643048"],"related_works":[],"abstract_inverted_index":{"Dynamic":[0],"typed":[1],"languages":[2],"are":[3],"widely":[4],"used":[5],"but":[6],"it":[7],"can":[8],"lead":[9],"to":[10,24],"reduces":[11],"code":[12,46,62,106],"comprehension":[13],"and":[14,27,34,63,88],"increases":[15],"type-related":[16],"errors.":[17],"Recently,":[18],"type":[19,29,50,75,85,98],"annotations":[20],"have":[21,31,39],"been":[22,32],"introduced":[23],"these":[25],"languages,":[26],"static":[28],"analyzers":[30,38],"developed":[33],"used.":[35],"However,":[36],"existing":[37],"limited":[40],"accuracy,":[41],"as":[42,47,108],"they":[43],"treat":[44],"unannotated":[45],"an":[48],"Any":[49],"or":[51],"merge":[52],"types":[53,80],"into":[54],"unions.":[55],"Furthermore,":[56],"whole-program":[57],"analyzer":[58],"cannot":[59,65],"analyze":[60,66],"non-executable":[61,105],"thus":[64],"libraries.":[67,109],"In":[68],"this":[69],"paper,":[70],"we":[71],"propose":[72],"a":[73],"Python":[74],"analysis":[76,103],"that":[77],"uses":[78],"intersection":[79],"at":[81],"the":[82,95],"point":[83],"where":[84],"information":[86],"converges":[87],"performs":[89],"modular":[90],"analysis.":[91],"This":[92],"design":[93],"improves":[94],"accuracy":[96],"of":[97,104],"error":[99],"detection":[100],"while":[101],"enabling":[102],"such":[107]},"counts_by_year":[],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-11T00:00:00"}
