{"id":"https://openalex.org/W4362659488","doi":"https://doi.org/10.1145/3586028","title":"Solving Conditional Linear Recurrences for Program Verification: The Periodic Case","display_name":"Solving Conditional Linear Recurrences for Program Verification: The Periodic Case","publication_year":2023,"publication_date":"2023-04-06","ids":{"openalex":"https://openalex.org/W4362659488","doi":"https://doi.org/10.1145/3586028"},"language":"en","primary_location":{"id":"doi:10.1145/3586028","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586028","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586028","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/3586028","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5100664266","display_name":"Chenglin Wang","orcid":"https://orcid.org/0000-0002-1930-4771"},"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":"Chenglin Wang","raw_affiliation_strings":["Hong Kong University of Science and Technology, China"],"raw_orcid":"https://orcid.org/0000-0002-1930-4771","affiliations":[{"raw_affiliation_string":"Hong Kong University of Science and Technology, China","institution_ids":["https://openalex.org/I200769079"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5102011179","display_name":"Fangzhen Lin","orcid":"https://orcid.org/0000-0002-3141-8675"},"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":"Fangzhen Lin","raw_affiliation_strings":["Hong Kong University of Science and Technology, China"],"raw_orcid":"https://orcid.org/0000-0002-3141-8675","affiliations":[{"raw_affiliation_string":"Hong Kong University of Science and Technology, China","institution_ids":["https://openalex.org/I200769079"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I200769079"],"apc_list":null,"apc_paid":null,"fwci":1.5545,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.85097253,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":96,"max":98},"biblio":{"volume":"7","issue":"OOPSLA1","first_page":"28","last_page":"55"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.9995999932289124,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/undecidable-problem","display_name":"Undecidable problem","score":0.8327546119689941},{"id":"https://openalex.org/keywords/solver","display_name":"Solver","score":0.7869466543197632},{"id":"https://openalex.org/keywords/sequence","display_name":"Sequence (biology)","score":0.7607001066207886},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.6377288699150085},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6194499135017395},{"id":"https://openalex.org/keywords/heuristic","display_name":"Heuristic","score":0.5533065795898438},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4802118241786957},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.4447512924671173},{"id":"https://openalex.org/keywords/value","display_name":"Value (mathematics)","score":0.4156811237335205},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.32335883378982544},{"id":"https://openalex.org/keywords/decidability","display_name":"Decidability","score":0.2625281810760498},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2081156075000763},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.10809814929962158}],"concepts":[{"id":"https://openalex.org/C192034797","wikidata":"https://www.wikidata.org/wiki/Q3502995","display_name":"Undecidable problem","level":3,"score":0.8327546119689941},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.7869466543197632},{"id":"https://openalex.org/C2778112365","wikidata":"https://www.wikidata.org/wiki/Q3511065","display_name":"Sequence (biology)","level":2,"score":0.7607001066207886},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.6377288699150085},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6194499135017395},{"id":"https://openalex.org/C173801870","wikidata":"https://www.wikidata.org/wiki/Q201413","display_name":"Heuristic","level":2,"score":0.5533065795898438},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4802118241786957},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.4447512924671173},{"id":"https://openalex.org/C2776291640","wikidata":"https://www.wikidata.org/wiki/Q2912517","display_name":"Value (mathematics)","level":2,"score":0.4156811237335205},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.32335883378982544},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.2625281810760498},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2081156075000763},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10809814929962158},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C54355233","wikidata":"https://www.wikidata.org/wiki/Q7162","display_name":"Genetics","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3586028","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586028","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586028","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-125568","is_oa":false,"landing_page_url":"http://repository.hkust.edu.hk/ir/Record/1783.1-125568","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/3586028","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586028","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586028","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":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4362659488.pdf","grobid_xml":"https://content.openalex.org/works/W4362659488.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W12758337","https://openalex.org/W109993195","https://openalex.org/W205218531","https://openalex.org/W1480909796","https://openalex.org/W1585981132","https://openalex.org/W1848981483","https://openalex.org/W2106001218","https://openalex.org/W2122917953","https://openalex.org/W2147627044","https://openalex.org/W2264437737","https://openalex.org/W2398327122","https://openalex.org/W2417863416","https://openalex.org/W2625924363","https://openalex.org/W2780276625","https://openalex.org/W2899568449","https://openalex.org/W2899642440","https://openalex.org/W2916782021","https://openalex.org/W2927368889","https://openalex.org/W2963723316","https://openalex.org/W3009272933","https://openalex.org/W3033229382","https://openalex.org/W3119451573","https://openalex.org/W3137985772","https://openalex.org/W4246019335","https://openalex.org/W4250720901","https://openalex.org/W4362696243","https://openalex.org/W6634693131","https://openalex.org/W6819746570"],"related_works":["https://openalex.org/W2120230527","https://openalex.org/W1536365843","https://openalex.org/W2125797022","https://openalex.org/W1490819493","https://openalex.org/W1802268423","https://openalex.org/W1993963635","https://openalex.org/W4252689011","https://openalex.org/W4251759788","https://openalex.org/W2468382602","https://openalex.org/W4240644524"],"abstract_inverted_index":{"In":[0,61],"program":[1,167],"verification,":[2],"one":[3],"method":[4],"for":[5,33,136],"reasoning":[6],"about":[7],"loops":[8],"is":[9,104,122,125,179],"to":[10,20,37,198,210],"convert":[11],"them":[12],"into":[13],"sets":[14],"of":[15,55,141,184,214],"recurrences,":[16,39],"and":[17,81,88,133,144,160,173,195],"then":[18,110],"try":[19],"solve":[21],"these":[22,38,70],"recurrences":[23,46,80,215],"by":[24,97],"computing":[25,34,145,211],"their":[26,40,193],"closed-form":[27,35,114,146,212],"solutions.":[28],"While":[29],"there":[30],"are":[31,42],"solvers":[32],"solutions":[36,147,213],"capabilities":[41],"limited":[43],"when":[44,52],"the":[45,53,93,98,101,138,142,149,175],"have":[47],"conditional":[48,59,78,190],"expressions,":[49],"which":[50],"arise":[51],"body":[54],"a":[56,66,86,113,120,130,154,165],"loop":[57],"contains":[58],"statements.":[60],"this":[62,158],"paper,":[63],"we":[64,73,76,106,128,204],"take":[65],"step":[67],"towards":[68],"solving":[69],"recurrences.":[71],"Specifically,":[72],"consider":[74,206],"what":[75,105],"call":[77,107],"linear":[79],"show":[82,163],"that":[83,164,188],"given":[84],"such":[85,119],"recurrence":[87,99],"an":[89],"initial":[90,102,218],"value,":[91],"if":[92],"index":[94],"sequence":[95,121,143],"generated":[96],"on":[100,157,170],"value":[103],"ultimately":[108,123],"periodic,":[109],"it":[111],"has":[112],"solution.":[115],"However,":[116],"checking":[117,137],"whether":[118],"periodic":[124],"undecidable":[126],"so":[127],"propose":[129],"heuristic":[131],"\"generate":[132],"verify\"":[134],"algorithm":[135],"ultimate":[139],"periodicity":[140],"at":[148],"same":[150],"time.":[151],"We":[152],"implemented":[153],"solver":[155,172,177],"based":[156,169],"algorithm,":[159],"our":[161,171,208],"experiments":[162],"straightforward":[166],"verifier":[168],"using":[174],"SMT":[176],"Z3":[178],"effective":[180],"in":[181,192],"verifying":[182],"properties":[183],"many":[185],"benchmark":[186],"programs":[187],"contain":[189],"statements":[191],"loops,":[194],"compares":[196],"favorably":[197],"other":[199],"recurrence-based":[200],"verification":[201],"tools.":[202],"Finally,":[203],"also":[205],"extending":[207],"results":[209],"with":[216],"unknown":[217],"values.":[219]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":3}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
