{"id":"https://openalex.org/W2018231677","doi":"https://doi.org/10.1145/1108970.1108973","title":"Termination analysis and specialization-point insertion in offline partial evaluation","display_name":"Termination analysis and specialization-point insertion in offline partial evaluation","publication_year":2005,"publication_date":"2005-11-01","ids":{"openalex":"https://openalex.org/W2018231677","doi":"https://doi.org/10.1145/1108970.1108973","mag":"2018231677"},"language":"en","primary_location":{"id":"doi:10.1145/1108970.1108973","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1108970.1108973","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1108970.1108973","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1108970.1108973","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5074407103","display_name":"Arne John Glenstrup","orcid":null},"institutions":[{"id":"https://openalex.org/I83467386","display_name":"IT University of Copenhagen","ror":"https://ror.org/02309jg23","country_code":"DK","type":"education","lineage":["https://openalex.org/I83467386"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Arne John Glenstrup","raw_affiliation_strings":["IT University of Copenhagen, Copenhagen S, Denmark","IT University of Copenhagen, Copenhagen S., Denmark#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IT University of Copenhagen, Copenhagen S, Denmark","institution_ids":["https://openalex.org/I83467386"]},{"raw_affiliation_string":"IT University of Copenhagen, Copenhagen S., Denmark#TAB#","institution_ids":["https://openalex.org/I83467386"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5103363705","display_name":"Neil D. Jones","orcid":null},"institutions":[{"id":"https://openalex.org/I124055696","display_name":"University of Copenhagen","ror":"https://ror.org/035b05819","country_code":"DK","type":"education","lineage":["https://openalex.org/I124055696"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Neil D. Jones","raw_affiliation_strings":["DIKU, University of Copenhagen, Copenhagen \u00f8, Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"DIKU, University of Copenhagen, Copenhagen \u00f8, Denmark","institution_ids":["https://openalex.org/I124055696"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":6.4321,"has_fulltext":true,"cited_by_count":23,"citation_normalized_percentile":{"value":0.96319586,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"27","issue":"6","first_page":"1147","last_page":"1215"},"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.9994000196456909,"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.9994000196456909,"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.9988999962806702,"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"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9972000122070312,"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/computer-science","display_name":"Computer science","score":0.8199687004089355},{"id":"https://openalex.org/keywords/bounded-function","display_name":"Bounded function","score":0.671420693397522},{"id":"https://openalex.org/keywords/range","display_name":"Range (aeronautics)","score":0.597034215927124},{"id":"https://openalex.org/keywords/memoization","display_name":"Memoization","score":0.560865581035614},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.5227344632148743},{"id":"https://openalex.org/keywords/partial-evaluation","display_name":"Partial evaluation","score":0.49918103218078613},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.4783210754394531},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.44479885697364807},{"id":"https://openalex.org/keywords/point","display_name":"Point (geometry)","score":0.4353896975517273},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"Abstract interpretation","score":0.4324549436569214},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.43171942234039307},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4137811064720154},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.41179075837135315},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.38386279344558716},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.25583815574645996},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.13149788975715637},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.11502411961555481}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8199687004089355},{"id":"https://openalex.org/C34388435","wikidata":"https://www.wikidata.org/wiki/Q2267362","display_name":"Bounded function","level":2,"score":0.671420693397522},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.597034215927124},{"id":"https://openalex.org/C79516417","wikidata":"https://www.wikidata.org/wiki/Q1376168","display_name":"Memoization","level":4,"score":0.560865581035614},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.5227344632148743},{"id":"https://openalex.org/C195701839","wikidata":"https://www.wikidata.org/wiki/Q4008398","display_name":"Partial evaluation","level":2,"score":0.49918103218078613},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.4783210754394531},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.44479885697364807},{"id":"https://openalex.org/C28719098","wikidata":"https://www.wikidata.org/wiki/Q44946","display_name":"Point (geometry)","level":2,"score":0.4353896975517273},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.4324549436569214},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.43171942234039307},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4137811064720154},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.41179075837135315},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.38386279344558716},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.25583815574645996},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.13149788975715637},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.11502411961555481},{"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/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.0},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","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},{"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/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C42560504","wikidata":"https://www.wikidata.org/wiki/Q15419395","display_name":"Top-down parsing","level":3,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1108970.1108973","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1108970.1108973","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1108970.1108973","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.11.2108","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.2108","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.diku.dk/~panic/articles/TOPLAS2004-GlenstrupJones-PETerminationAnalysis.ps.gz","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.67.2640","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.67.2640","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.diku.dk/~panic/articles/TOPLAS2005-GlenstrupJones-PETerminationAnalysis.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/1108970.1108973","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1108970.1108973","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1108970.1108973","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2018231677.pdf","grobid_xml":"https://content.openalex.org/works/W2018231677.grobid-xml"},"referenced_works_count":96,"referenced_works":["https://openalex.org/W24354942","https://openalex.org/W151838425","https://openalex.org/W170696353","https://openalex.org/W201959004","https://openalex.org/W1480168175","https://openalex.org/W1480878783","https://openalex.org/W1491178396","https://openalex.org/W1491329856","https://openalex.org/W1499665322","https://openalex.org/W1514680630","https://openalex.org/W1518141528","https://openalex.org/W1518729509","https://openalex.org/W1523640873","https://openalex.org/W1526705263","https://openalex.org/W1532096540","https://openalex.org/W1534541257","https://openalex.org/W1537251945","https://openalex.org/W1550630424","https://openalex.org/W1551651413","https://openalex.org/W1556604985","https://openalex.org/W1560806666","https://openalex.org/W1563764837","https://openalex.org/W1579646927","https://openalex.org/W1584357601","https://openalex.org/W1584490456","https://openalex.org/W1590256419","https://openalex.org/W1593279918","https://openalex.org/W1593745409","https://openalex.org/W1598890912","https://openalex.org/W1602738123","https://openalex.org/W1679133098","https://openalex.org/W1757054223","https://openalex.org/W1824811811","https://openalex.org/W1865193337","https://openalex.org/W1891867366","https://openalex.org/W1899458625","https://openalex.org/W1963538417","https://openalex.org/W1976773489","https://openalex.org/W1977710006","https://openalex.org/W1978506930","https://openalex.org/W1982141330","https://openalex.org/W1987632834","https://openalex.org/W1987823535","https://openalex.org/W1993129359","https://openalex.org/W2011517902","https://openalex.org/W2021951417","https://openalex.org/W2023299380","https://openalex.org/W2026049208","https://openalex.org/W2030098725","https://openalex.org/W2037035101","https://openalex.org/W2040479609","https://openalex.org/W2043100293","https://openalex.org/W2044549124","https://openalex.org/W2046965757","https://openalex.org/W2048423324","https://openalex.org/W2048831705","https://openalex.org/W2056410280","https://openalex.org/W2058958439","https://openalex.org/W2073194447","https://openalex.org/W2074487796","https://openalex.org/W2075253235","https://openalex.org/W2078011173","https://openalex.org/W2085609918","https://openalex.org/W2090036644","https://openalex.org/W2094455839","https://openalex.org/W2095460218","https://openalex.org/W2095689360","https://openalex.org/W2096435603","https://openalex.org/W2135274583","https://openalex.org/W2139356751","https://openalex.org/W2149545670","https://openalex.org/W2151030513","https://openalex.org/W2151897509","https://openalex.org/W2152834103","https://openalex.org/W2157543955","https://openalex.org/W2160268991","https://openalex.org/W2164319287","https://openalex.org/W2166089338","https://openalex.org/W2168162624","https://openalex.org/W2170010695","https://openalex.org/W2171433297","https://openalex.org/W2171496589","https://openalex.org/W2174627168","https://openalex.org/W2208923056","https://openalex.org/W2293879310","https://openalex.org/W2522304419","https://openalex.org/W2561675875","https://openalex.org/W2572804059","https://openalex.org/W2912956306","https://openalex.org/W3162918618","https://openalex.org/W3199565109","https://openalex.org/W4285719527","https://openalex.org/W6634847859","https://openalex.org/W6639255340","https://openalex.org/W6684244709","https://openalex.org/W6758414708"],"related_works":["https://openalex.org/W1522408124","https://openalex.org/W1489487975","https://openalex.org/W2525463489","https://openalex.org/W4376854129","https://openalex.org/W4249020237","https://openalex.org/W2157660637","https://openalex.org/W1892527813","https://openalex.org/W2077499329","https://openalex.org/W2970480852","https://openalex.org/W2058895276"],"abstract_inverted_index":{"Recent":[0],"research":[1],"suggests":[2],"that":[3,124,136,183,237,266,273],"the":[4,90,107,121,138,214,229,238,249,267,297,301],"goal":[5,302],"of":[6,17,64,67,72,89,216,221,232,246,248,279,290,303],"fully":[7,305],"automatic":[8,306],"and":[9,27,78,100,114,118,187,242,307],"reliable":[10,308],"program":[11,85,122,309],"generation":[12,86,91],"for":[13,111,116,152,169,175,255],"a":[14,37,61,69,148,161,181,190,208,225,263,276,288],"broad":[15],"range":[16,71],"applications":[18],"is":[19,41,87,131,199],"coming":[20],"nearer":[21],"to":[22,31,48,156,300],"feasibility.":[23],"However,":[24],"several":[25],"interesting":[26],"challenging":[28,291],"problems":[29,74,292],"remain":[30],"be":[32,157],"solved":[33],"before":[34],"it":[35,198],"becomes":[36],"reality.":[38],"Solving":[39],"them":[40],"also":[42],"necessary,":[43],"if":[44],"we":[45,206],"hope":[46],"ever":[47],"elevate":[49],"software":[50],"engineering":[51],"from":[52],"its":[53],"current":[54],"state":[55],"(a":[56],"highly":[57],"developed":[58],"handiwork)":[59],"into":[60],"successful":[62],"branch":[63],"engineering,":[65],"capable":[66],"solving":[68,106],"wide":[70],"new":[73],"by":[75,179],"systematic,":[76],"well-automated":[77],"well-founded":[79],"methods.A":[80],"key":[81],"problem":[82],"in":[83,140,193,258],"all":[84,203],"termination":[88,108,176,256],"process.":[92],"This":[93],"article":[94,223,285],"focuses":[95],"on":[96,133,228],"off-line":[97],"partial":[98,127,233,259],"evaluation":[99,234],"describes":[101],"recent":[102],"progress":[103],"towards":[104],"automatically":[105],"problem,":[109],"first":[110],"individual":[112],"programs,":[113],"then":[115,188],"specializers":[117],"\u201cgenerating":[119],"extensions,\u201d":[120],"generators":[123],"most":[125],"offline":[126],"evaluators":[128],"produce.The":[129],"technique":[130],"based":[132,227],"size-change":[134],"graphs":[135],"approximate":[137],"changes":[139],"parameter":[141,163,182],"sizes":[142],"at":[143],"function":[144],"calls.":[145],"We":[146],"formulate":[147],"criterion,":[149],"bounded":[150,158,162],"anchoring,":[151],"detecting":[153],"parameters":[154],"known":[155],"during":[159],"specialization:":[160],"can":[164,274],"act":[165],"as":[166],"an":[167,243],"anchor":[168],"other":[170],"parameters.":[171],"Specialization":[172],"points":[173,218],"necessary":[174],"are":[177],"computed":[178],"adding":[180],"tracks":[184],"call":[185,195],"depth,":[186],"selecting":[189],"specialization":[191,217],"point":[192],"every":[194],"loop":[196],"where":[197],"unanchored.":[200],"By":[201],"generalizing":[202],"unbounded":[204],"parameters,":[205],"compute":[207],"binding-time":[209,271],"division":[210],"which":[211],"together":[212],"with":[213,235,262,287],"set":[215],"guarantees":[219,240],"termination.Contributions":[220],"this":[222],"include":[224],"proof,":[226],"operational":[230],"semantics":[231],"memoization,":[236],"analysis":[239,257,268],"termination;":[241],"in-depth":[244],"description":[245],"safety":[247],"increasing":[250],"size":[251],"approximation":[252],"operator":[253],"required":[254],"evaluation.Initial":[260],"experiments":[261],"prototype":[264],"shows":[265],"overall":[269],"yields":[270],"divisions":[272],"achieve":[275],"high":[277],"degree":[278],"specialization,":[280],"while":[281],"still":[282],"guaranteeing":[283],"termination.The":[284],"ends":[286],"list":[289],"whose":[293],"solution":[294],"would":[295],"bring":[296],"community":[298],"closer":[299],"broad-spectrum,":[304],"generation.":[310]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2012,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
