{"id":"https://openalex.org/W4414978677","doi":"https://doi.org/10.1145/3763071","title":"A Sound Static Analysis Approach to I/O API Migration","display_name":"A Sound Static Analysis Approach to I/O API Migration","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4414978677","doi":"https://doi.org/10.1145/3763071"},"language":"en","primary_location":{"id":"doi:10.1145/3763071","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763071","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":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3763071","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5006132813","display_name":"Shangyu Li","orcid":"https://orcid.org/0009-0002-5163-3310"},"institutions":[{"id":"https://openalex.org/I200769079","display_name":"Hong Kong University of Science and Technology","ror":"https://ror.org/00q4vv597","country_code":"HK","type":"education","lineage":["https://openalex.org/I200769079"]}],"countries":["HK"],"is_corresponding":false,"raw_author_name":"Shangyu Li","raw_affiliation_strings":["Hong Kong University of Science and Technology, Hong Kong, China"],"raw_orcid":"https://orcid.org/0009-0002-5163-3310","affiliations":[{"raw_affiliation_string":"Hong Kong University of Science and Technology, Hong Kong, China","institution_ids":["https://openalex.org/I200769079"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5112853447","display_name":"Z J Zhang","orcid":null},"institutions":[{"id":"https://openalex.org/I200769079","display_name":"Hong Kong University of Science and Technology","ror":"https://ror.org/00q4vv597","country_code":"HK","type":"education","lineage":["https://openalex.org/I200769079"]}],"countries":["HK"],"is_corresponding":false,"raw_author_name":"Zhaoyang Zhang","raw_affiliation_strings":["Hong Kong University of Science and Technology, Hong Kong, China"],"raw_orcid":"https://orcid.org/0009-0004-9911-4602","affiliations":[{"raw_affiliation_string":"Hong Kong University of Science and Technology, Hong Kong, China","institution_ids":["https://openalex.org/I200769079"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Sizhe Zhong","orcid":"https://orcid.org/0009-0007-1521-3569"},"institutions":[{"id":"https://openalex.org/I200769079","display_name":"Hong Kong University of Science and Technology","ror":"https://ror.org/00q4vv597","country_code":"HK","type":"education","lineage":["https://openalex.org/I200769079"]}],"countries":["HK"],"is_corresponding":false,"raw_author_name":"Sizhe Zhong","raw_affiliation_strings":["Hong Kong University of Science and Technology, Hong Kong, China"],"raw_orcid":"https://orcid.org/0009-0007-1521-3569","affiliations":[{"raw_affiliation_string":"Hong Kong University of Science and Technology, Hong Kong, China","institution_ids":["https://openalex.org/I200769079"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5045275286","display_name":"Diyu Zhou","orcid":"https://orcid.org/0009-0003-8620-1064"},"institutions":[{"id":"https://openalex.org/I20231570","display_name":"Peking University","ror":"https://ror.org/02v51f717","country_code":"CN","type":"education","lineage":["https://openalex.org/I20231570"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Diyu Zhou","raw_affiliation_strings":["Peking University, Beijing, China"],"raw_orcid":"https://orcid.org/0009-0003-8620-1064","affiliations":[{"raw_affiliation_string":"Peking University, Beijing, China","institution_ids":["https://openalex.org/I20231570"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5024117197","display_name":"Jiasi Shen","orcid":"https://orcid.org/0000-0002-5904-3641"},"institutions":[{"id":"https://openalex.org/I200769079","display_name":"Hong Kong University of Science and Technology","ror":"https://ror.org/00q4vv597","country_code":"HK","type":"education","lineage":["https://openalex.org/I200769079"]}],"countries":["HK"],"is_corresponding":false,"raw_author_name":"Jiasi Shen","raw_affiliation_strings":["Hong Kong University of Science and Technology, Hong Kong, China"],"raw_orcid":"https://orcid.org/0000-0002-5904-3641","affiliations":[{"raw_affiliation_string":"Hong Kong University of Science and Technology, Hong Kong, China","institution_ids":["https://openalex.org/I200769079"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.29223863,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"584","last_page":"614"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.9966999888420105,"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"}},"topics":[{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.9966999888420105,"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"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9904999732971191,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.98580002784729,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/pointer","display_name":"Pointer (user interface)","score":0.685699999332428},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.6037999987602234},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.5618000030517578},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.527999997138977},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.4805999994277954},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.44200000166893005},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.40049999952316284},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.38609999418258667}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7979000210762024},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.685699999332428},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.6037999987602234},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.5618000030517578},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.527999997138977},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.4805999994277954},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4684000015258789},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.44200000166893005},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.40049999952316284},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.38609999418258667},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.382099986076355},{"id":"https://openalex.org/C2984030306","wikidata":"https://www.wikidata.org/wiki/Q4819857","display_name":"Sound analysis","level":2,"score":0.3555999994277954},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3353999853134155},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.31779998540878296},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.31769999861717224},{"id":"https://openalex.org/C7263679","wikidata":"https://www.wikidata.org/wiki/Q5978076","display_name":"Pointer analysis","level":3,"score":0.31060001254081726},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.3034000098705292},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.2849000096321106},{"id":"https://openalex.org/C47487241","wikidata":"https://www.wikidata.org/wiki/Q5227230","display_name":"Data access","level":2,"score":0.2720000147819519},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.2718000113964081},{"id":"https://openalex.org/C79403827","wikidata":"https://www.wikidata.org/wiki/Q3988","display_name":"Real-time computing","level":1,"score":0.26249998807907104},{"id":"https://openalex.org/C105446022","wikidata":"https://www.wikidata.org/wiki/Q445962","display_name":"Legacy system","level":3,"score":0.2554999887943268},{"id":"https://openalex.org/C2989277270","wikidata":"https://www.wikidata.org/wiki/Q168338","display_name":"Behavioral analysis","level":2,"score":0.2526000142097473}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3763071","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763071","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:repository.hkust.edu.hk:1783.1-166509","is_oa":false,"landing_page_url":"http://repository.hkust.edu.hk/ir/Record/1783.1-166509","pdf_url":null,"source":{"id":"https://openalex.org/S4306401796","display_name":"Rare & Special e-Zone (The Hong Kong University of Science and Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I200769079","host_organization_name":"Hong Kong University of Science and Technology","host_organization_lineage":["https://openalex.org/I200769079"],"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":"Article"}],"best_oa_location":{"id":"doi:10.1145/3763071","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763071","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":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":62,"referenced_works":["https://openalex.org/W1480909796","https://openalex.org/W1964275247","https://openalex.org/W1970165929","https://openalex.org/W1996567876","https://openalex.org/W1997007544","https://openalex.org/W2044590882","https://openalex.org/W2046233266","https://openalex.org/W2054855378","https://openalex.org/W2072025944","https://openalex.org/W2075726143","https://openalex.org/W2082450466","https://openalex.org/W2123691799","https://openalex.org/W2127723417","https://openalex.org/W2134734244","https://openalex.org/W2135742552","https://openalex.org/W2139367291","https://openalex.org/W2139608544","https://openalex.org/W2145911832","https://openalex.org/W2150244020","https://openalex.org/W2162121187","https://openalex.org/W2297774820","https://openalex.org/W2418656106","https://openalex.org/W2473973932","https://openalex.org/W2547405428","https://openalex.org/W2547862110","https://openalex.org/W2577451492","https://openalex.org/W2591626899","https://openalex.org/W2765843494","https://openalex.org/W2799226481","https://openalex.org/W2803369237","https://openalex.org/W2895585783","https://openalex.org/W2898651898","https://openalex.org/W2902648414","https://openalex.org/W2957919018","https://openalex.org/W2962809971","https://openalex.org/W2963046270","https://openalex.org/W2963426888","https://openalex.org/W2963741525","https://openalex.org/W2973470836","https://openalex.org/W2982176300","https://openalex.org/W2996317448","https://openalex.org/W3000410628","https://openalex.org/W3080318130","https://openalex.org/W3161891692","https://openalex.org/W3206376305","https://openalex.org/W3211608049","https://openalex.org/W4214730640","https://openalex.org/W4225149718","https://openalex.org/W4230190751","https://openalex.org/W4246166885","https://openalex.org/W4256607842","https://openalex.org/W4309674289","https://openalex.org/W4317209725","https://openalex.org/W4362659563","https://openalex.org/W4387321520","https://openalex.org/W4387799771","https://openalex.org/W4389544235","https://openalex.org/W4390605451","https://openalex.org/W4399357038","https://openalex.org/W4399759422","https://openalex.org/W4400582828","https://openalex.org/W6947900779"],"related_works":[],"abstract_inverted_index":{"The":[0],"advances":[1],"in":[2,33],"modern":[3],"storage":[4],"technologies":[5],"necessitate":[6],"the":[7,74,82,94],"development":[8],"of":[9,84,98],"new":[10,50],"input/output":[11],"(I/O)":[12],"APIs":[13,26,58],"to":[14,23,31,68,109],"maximize":[15],"their":[16],"performance":[17],"benefits.":[18],"However,":[19],"migrating":[20,54],"existing":[21],"software":[22],"use":[24],"different":[25],"poses":[27],"significant":[28],"challenges":[29],"due":[30],"mismatches":[32],"computational":[34],"models":[35],"and":[36,81,96],"complex":[37],"code":[38],"structures":[39],"surrounding":[40],"stateful,":[41],"non-contiguous":[42],"multi-API":[43],"call":[44],"sites.":[45],"We":[46,101],"present":[47],"Sprout,":[48],"a":[49],"system":[51],"for":[52,77],"automatically":[53],"programs":[55,92],"across":[56],"I/O":[57],"that":[59,104],"guarantees":[60],"behavioral":[61],"equivalence.":[62],"Sprout":[63,105],"uses":[64],"flow-sensitive":[65],"pointer":[66],"analysis":[67,76],"identify":[69],"semantic":[70],"variables,":[71],"which":[72],"enables":[73],"typestate":[75],"matching":[78],"API":[79],"semantics":[80],"synthesis":[83],"migrated":[85],"programs.":[86],"Experimental":[87],"results":[88],"with":[89],"real-world":[90],"C":[91],"highlight":[93],"efficiency":[95],"effectiveness":[97],"our":[99],"approach.":[100],"also":[102],"show":[103],"can":[106],"be":[107],"adapted":[108],"other":[110],"domains,":[111],"such":[112],"as":[113],"databases.":[114]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
