{"id":"https://openalex.org/W2159756689","doi":"https://doi.org/10.1145/1542476.1542518","title":"Control-flow refinement and progress invariants for bound analysis","display_name":"Control-flow refinement and progress invariants for bound analysis","publication_year":2009,"publication_date":"2009-06-15","ids":{"openalex":"https://openalex.org/W2159756689","doi":"https://doi.org/10.1145/1542476.1542518","mag":"2159756689"},"language":"en","primary_location":{"id":"doi:10.1145/1542476.1542518","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1542476.1542518","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5011543162","display_name":"Sumit Gulwani","orcid":"https://orcid.org/0000-0002-9226-9634"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Sumit Gulwani","raw_affiliation_strings":["Microsoft Research, Redmond, Redmond, WA, USA"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Redmond, Redmond, WA, USA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5112130921","display_name":"Sagar Jain","orcid":null},"institutions":[{"id":"https://openalex.org/I94234084","display_name":"Indian Institute of Technology Kanpur","ror":"https://ror.org/05pjsgx75","country_code":"IN","type":"education","lineage":["https://openalex.org/I94234084"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Sagar Jain","raw_affiliation_strings":["IIT Kanpur, Kanpur, India"],"affiliations":[{"raw_affiliation_string":"IIT Kanpur, Kanpur, India","institution_ids":["https://openalex.org/I94234084"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5024796518","display_name":"Eric Koskinen","orcid":"https://orcid.org/0000-0001-7363-634X"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Eric Koskinen","raw_affiliation_strings":["University of Cambridge, Cambridge, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Cambridge, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I241749"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5011543162"],"corresponding_institution_ids":["https://openalex.org/I1290206253"],"apc_list":null,"apc_paid":null,"fwci":16.2611,"has_fulltext":false,"cited_by_count":130,"citation_normalized_percentile":{"value":0.99481407,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"375","last_page":"385"},"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.9993000030517578,"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.9986000061035156,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7653944492340088},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.7523554563522339},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.6477505564689636},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.5941919088363647},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5841968059539795},{"id":"https://openalex.org/keywords/flow","display_name":"Flow (mathematics)","score":0.4833378493785858},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.48278987407684326},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.44965860247612},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4425584077835083},{"id":"https://openalex.org/keywords/upper-and-lower-bounds","display_name":"Upper and lower bounds","score":0.43175944685935974},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"Abstract interpretation","score":0.4216013550758362},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3747524917125702},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.2717687487602234},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1936323642730713}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7653944492340088},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.7523554563522339},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.6477505564689636},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.5941919088363647},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5841968059539795},{"id":"https://openalex.org/C38349280","wikidata":"https://www.wikidata.org/wiki/Q1434290","display_name":"Flow (mathematics)","level":2,"score":0.4833378493785858},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.48278987407684326},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.44965860247612},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4425584077835083},{"id":"https://openalex.org/C77553402","wikidata":"https://www.wikidata.org/wiki/Q13222579","display_name":"Upper and lower bounds","level":2,"score":0.43175944685935974},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.4216013550758362},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3747524917125702},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.2717687487602234},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1936323642730713},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1542476.1542518","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1542476.1542518","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.159.5169","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.5169","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://research.microsoft.com/en-us/people/sumitg/pubs/pldi09_speed.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":29,"referenced_works":["https://openalex.org/W59298299","https://openalex.org/W1492171827","https://openalex.org/W1502028089","https://openalex.org/W1530375435","https://openalex.org/W1535183500","https://openalex.org/W1553630057","https://openalex.org/W1563352283","https://openalex.org/W1568984608","https://openalex.org/W1570919259","https://openalex.org/W1797762004","https://openalex.org/W1987142766","https://openalex.org/W2006824750","https://openalex.org/W2066550846","https://openalex.org/W2076285066","https://openalex.org/W2107588378","https://openalex.org/W2107794009","https://openalex.org/W2109863363","https://openalex.org/W2124909257","https://openalex.org/W2129614355","https://openalex.org/W2132661148","https://openalex.org/W2135331739","https://openalex.org/W2156590219","https://openalex.org/W2293708017","https://openalex.org/W2295903414","https://openalex.org/W2911436048","https://openalex.org/W3158747708","https://openalex.org/W4232668957","https://openalex.org/W4241086578","https://openalex.org/W4250347244"],"related_works":["https://openalex.org/W1776429635","https://openalex.org/W154155438","https://openalex.org/W2104773116","https://openalex.org/W4205359103","https://openalex.org/W2481821631","https://openalex.org/W2114948246","https://openalex.org/W2058764256","https://openalex.org/W4246701704","https://openalex.org/W1546990306","https://openalex.org/W2052992886"],"abstract_inverted_index":{"Symbolic":[0],"complexity":[1],"bounds":[2,19],"help":[3],"programmers":[4],"understand":[5],"the":[6],"performance":[7],"characteristics":[8],"of":[9,20],"their":[10],"implementations.":[11],"Existing":[12],"work":[13],"provides":[14],"techniques":[15],"for":[16],"statically":[17],"determining":[18],"procedures":[21,26],"with":[22,27],"simple":[23],"control-flow.":[24],"However,":[25],"nested":[28],"loops":[29],"or":[30],"multiple":[31],"paths":[32],"through":[33],"a":[34],"single":[35],"loop":[36],"are":[37],"challenging.":[38]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":14},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":10},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":12},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":9},{"year":2014,"cited_by_count":6},{"year":2013,"cited_by_count":14},{"year":2012,"cited_by_count":12}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
