{"id":"https://openalex.org/W2048802511","doi":"https://doi.org/10.1145/1596550.1596592","title":"Control-flow analysis of function calls and returns by abstract interpretation","display_name":"Control-flow analysis of function calls and returns by abstract interpretation","publication_year":2009,"publication_date":"2009-08-31","ids":{"openalex":"https://openalex.org/W2048802511","doi":"https://doi.org/10.1145/1596550.1596592","mag":"2048802511"},"language":"en","primary_location":{"id":"doi:10.1145/1596550.1596592","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1596550.1596592","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 14th ACM SIGPLAN international conference on Functional programming","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://inria.hal.science/inria-00574944","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5065278196","display_name":"Jan Midtgaard","orcid":"https://orcid.org/0000-0002-6506-5468"},"institutions":[{"id":"https://openalex.org/I107707843","display_name":"Roskilde University","ror":"https://ror.org/014axpa37","country_code":"DK","type":"education","lineage":["https://openalex.org/I107707843"]}],"countries":["DK"],"is_corresponding":true,"raw_author_name":"Jan Midtgaard","raw_affiliation_strings":["Roskilde University, Roskilde, Denmark","(Roskilde University, Roskilde, Denmark)"],"affiliations":[{"raw_affiliation_string":"Roskilde University, Roskilde, Denmark","institution_ids":["https://openalex.org/I107707843"]},{"raw_affiliation_string":"(Roskilde University, Roskilde, Denmark)","institution_ids":["https://openalex.org/I107707843"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5054819541","display_name":"Thomas Wiben Jensen","orcid":"https://orcid.org/0000-0003-1428-4414"},"institutions":[{"id":"https://openalex.org/I56067802","display_name":"Universit\u00e9 de Rennes","ror":"https://ror.org/015m7wh34","country_code":"FR","type":"education","lineage":["https://openalex.org/I56067802"]},{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"funder","lineage":["https://openalex.org/I1294671590"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Thomas P. Jensen","raw_affiliation_strings":["CNRS, Rennes, France"],"affiliations":[{"raw_affiliation_string":"CNRS, Rennes, France","institution_ids":["https://openalex.org/I56067802","https://openalex.org/I1294671590"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5065278196"],"corresponding_institution_ids":["https://openalex.org/I107707843"],"apc_list":null,"apc_paid":null,"fwci":8.5597,"has_fulltext":false,"cited_by_count":32,"citation_normalized_percentile":{"value":0.97663151,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"287","last_page":"298"},"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.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"}},"topics":[{"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/T10142","display_name":"Formal Methods in Verification","score":0.9957000017166138,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9955999851226807,"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/abstract-interpretation","display_name":"Abstract interpretation","score":0.8609343767166138},{"id":"https://openalex.org/keywords/interpretation","display_name":"Interpretation (philosophy)","score":0.8126320242881775},{"id":"https://openalex.org/keywords/stack","display_name":"Stack (abstract data type)","score":0.6837468147277832},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.6764942407608032},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6460843682289124},{"id":"https://openalex.org/keywords/constraint","display_name":"Constraint (computer-aided design)","score":0.5603886842727661},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.546552836894989},{"id":"https://openalex.org/keywords/flow","display_name":"Flow (mathematics)","score":0.5059232115745544},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.4536142647266388},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.4288424849510193},{"id":"https://openalex.org/keywords/continuation","display_name":"Continuation","score":0.4275687336921692},{"id":"https://openalex.org/keywords/control","display_name":"Control (management)","score":0.4163479208946228},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.39092037081718445},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3632963001728058},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2867169976234436},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2616576552391052},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.20621293783187866}],"concepts":[{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.8609343767166138},{"id":"https://openalex.org/C527412718","wikidata":"https://www.wikidata.org/wiki/Q855395","display_name":"Interpretation (philosophy)","level":2,"score":0.8126320242881775},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.6837468147277832},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.6764942407608032},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6460843682289124},{"id":"https://openalex.org/C2776036281","wikidata":"https://www.wikidata.org/wiki/Q48769818","display_name":"Constraint (computer-aided design)","level":2,"score":0.5603886842727661},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.546552836894989},{"id":"https://openalex.org/C38349280","wikidata":"https://www.wikidata.org/wiki/Q1434290","display_name":"Flow (mathematics)","level":2,"score":0.5059232115745544},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.4536142647266388},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4288424849510193},{"id":"https://openalex.org/C88626702","wikidata":"https://www.wikidata.org/wiki/Q1128903","display_name":"Continuation","level":2,"score":0.4275687336921692},{"id":"https://openalex.org/C2775924081","wikidata":"https://www.wikidata.org/wiki/Q55608371","display_name":"Control (management)","level":2,"score":0.4163479208946228},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.39092037081718445},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3632963001728058},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2867169976234436},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2616576552391052},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.20621293783187866},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C78458016","wikidata":"https://www.wikidata.org/wiki/Q840400","display_name":"Evolutionary biology","level":1,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","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/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1596550.1596592","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1596550.1596592","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 14th ACM SIGPLAN international conference on Functional programming","raw_type":"proceedings-article"},{"id":"pmh:oai:HAL:inria-00574944v1","is_oa":true,"landing_page_url":"https://inria.hal.science/inria-00574944","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM International Conference on Functional Programming, Sep 2009, Edinburgh, United Kingdom. &#x27E8;10.1145/1596550.1596592&#x27E9;","raw_type":"Conference papers"},{"id":"pmh:oai:pure.atira.dk:publications/f9f50270-b98b-11de-82fe-000ea68e967b","is_oa":false,"landing_page_url":"https://pure.au.dk/portal/en/publications/f9f50270-b98b-11de-82fe-000ea68e967b","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Midtgaard, J & Jensen, T P 2009, Control-flow analysis of function calls and returns by abstract interpretation. in G Hutton & T Andrew (eds), Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming. Association for Computing Machinery, pp. 287-298, International Conference on Functional Programming (ICFP 2009), Edinburgh, Skotland, United Kingdom, 31/08/2009. https://doi.org/10.1145/1596550.1596592","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"pmh:oai:HAL:inria-00574944v1","is_oa":true,"landing_page_url":"https://inria.hal.science/inria-00574944","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM International Conference on Functional Programming, Sep 2009, Edinburgh, United Kingdom. &#x27E8;10.1145/1596550.1596592&#x27E9;","raw_type":"Conference papers"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":52,"referenced_works":["https://openalex.org/W49331338","https://openalex.org/W52562630","https://openalex.org/W66546368","https://openalex.org/W781716309","https://openalex.org/W1521434182","https://openalex.org/W1553894716","https://openalex.org/W1559106267","https://openalex.org/W1585311559","https://openalex.org/W1586636845","https://openalex.org/W1596403187","https://openalex.org/W1599217540","https://openalex.org/W1844301878","https://openalex.org/W1981830935","https://openalex.org/W1983583725","https://openalex.org/W1985450085","https://openalex.org/W1986693746","https://openalex.org/W1995535937","https://openalex.org/W2004971560","https://openalex.org/W2009375997","https://openalex.org/W2014764321","https://openalex.org/W2032137108","https://openalex.org/W2035401157","https://openalex.org/W2043100293","https://openalex.org/W2046160987","https://openalex.org/W2046656770","https://openalex.org/W2052075892","https://openalex.org/W2057085278","https://openalex.org/W2065403304","https://openalex.org/W2068226560","https://openalex.org/W2068711880","https://openalex.org/W2071095465","https://openalex.org/W2073904768","https://openalex.org/W2075091218","https://openalex.org/W2081810835","https://openalex.org/W2084875723","https://openalex.org/W2087359745","https://openalex.org/W2093397547","https://openalex.org/W2095357205","https://openalex.org/W2099107163","https://openalex.org/W2102389857","https://openalex.org/W2112914024","https://openalex.org/W2113757735","https://openalex.org/W2124056143","https://openalex.org/W2124153277","https://openalex.org/W2127114597","https://openalex.org/W2137116731","https://openalex.org/W2154929064","https://openalex.org/W2398151856","https://openalex.org/W4250199140","https://openalex.org/W4285719527","https://openalex.org/W6602005384","https://openalex.org/W6635579647"],"related_works":["https://openalex.org/W4246701704","https://openalex.org/W1546990306","https://openalex.org/W1565879960","https://openalex.org/W1575730831","https://openalex.org/W2048802511","https://openalex.org/W2099952304","https://openalex.org/W1600244485","https://openalex.org/W2109405546","https://openalex.org/W2105114074","https://openalex.org/W2392294830"],"abstract_inverted_index":{"We":[0],"derive":[1],"a":[2,70,78,93,104,117,121],"control-flow":[3,9,123],"analysis":[4,32,52,87,124],"that":[5],"approximates":[6],"the":[7,17,60,86,90],"interprocedural":[8],"of":[10,19,59,65,72,92,103,120],"both":[11],"function":[12,44],"calls":[13,45],"and":[14,22,108],"returns":[15],"in":[16,81],"presence":[18],"first-class":[20],"functions":[21],"tail-call":[23],"optimization.":[24],"In":[25],"addition":[26],"to":[27,89],"an":[28,37,100,111],"abstract":[29,38,57,63,101,126],"environment,":[30],"our":[31],"computes":[33],"for":[34],"each":[35],"expression":[36],"control":[39],"stack,":[40],"effectively":[41],"approximating":[42],"where":[43],"return":[46],"across":[47],"optimized":[48],"tail":[49],"calls.":[50],"The":[51],"is":[53],"systematically":[54],"calculated":[55],"by":[56,99],"interpretation":[58,76,102,127],"stack-based":[61],"CaEK":[62],"machine":[64],"Flanagan":[66],"et":[67],"al.":[68],"using":[69],"series":[71],"Galois":[73],"connections.":[74],"Abstract":[75],"provides":[77],"unifying":[79],"setting":[80],"which":[82],"we":[83],"1)":[84],"prove":[85],"equivalent":[88,112],"composition":[91],"continuation-passing":[94],"style":[95],"(CPS)":[96],"transformation":[97],"followed":[98],"stack-less":[105],"CPS":[106],"machine,":[107],"2)":[109],"extract":[110],"constraint-based":[113,122],"formulation,":[114],"thereby":[115],"providing":[116],"rational":[118],"reconstruction":[119],"from":[125],"principles.":[128]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":6}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
