{"id":"https://openalex.org/W92015630","doi":null,"title":"Frameworks for precise program analysis","display_name":"Frameworks for precise program analysis","publication_year":2001,"publication_date":"2001-01-01","ids":{"openalex":"https://openalex.org/W92015630","mag":"92015630"},"language":"en","primary_location":{"id":"mag:92015630","doi":null,"is_oa":false,"landing_page_url":"https://dl.acm.org/citation.cfm?id=935711","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null},"volume":null,"type":"book","is_traditional":true,"indexed_in":[],"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/A5002419188","display_name":"Monica S. Lam","orcid":"https://orcid.org/0000-0002-1205-1302","observed_orcids":["https://orcid.org/0000-0002-1205-1302"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Monica S. Lam","raw_affiliation_strings":[],"raw_orcid":"https://orcid.org/0000-0002-1205-1302","affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5108364181","display_name":"Brian R. Murphy","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Brian Murphy","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":93},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"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.9526000022888184,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9526000022888184,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.03909999877214432,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.0010999999940395355,"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/program-analysis-framework","display_name":"program analysis framework","score":0.9580000042915344},{"id":"https://openalex.org/keywords/automatic-parallelization","display_name":"automatic parallelization","score":0.8790000081062317},{"id":"https://openalex.org/keywords/suif","display_name":"SUIF","score":0.7789999842643738},{"id":"https://openalex.org/keywords/interprocedural-analysis","display_name":"interprocedural analysis","score":0.9760000109672546},{"id":"https://openalex.org/keywords/region-based-analysis","display_name":"region-based analysis","score":0.9660000205039978},{"id":"https://openalex.org/keywords/path-analysis","display_name":"path analysis","score":0.6449999809265137},{"id":"https://openalex.org/keywords/higher-order-functions","display_name":"higher-order functions","score":0.8479999899864197},{"id":"https://openalex.org/keywords/recursion","display_name":"recursion","score":0.7519999742507935}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8699725866317749},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.7914454340934753},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.7039878368377686},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6808441877365112},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.6113840341567993},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5830463767051697},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.5389587879180908},{"id":"https://openalex.org/C164833996","wikidata":"https://www.wikidata.org/wiki/Q2323839","display_name":"Automatic parallelization","level":3,"score":0.5241473317146301},{"id":"https://openalex.org/C27390822","wikidata":"https://www.wikidata.org/wiki/Q320724","display_name":"Dependence analysis","level":2,"score":0.5064457654953003},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.4841664433479309},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.47373712062835693},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.4282345771789551},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.38947534561157227},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.35387903451919556},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","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}],"mesh":[],"locations_count":1,"locations":[{"id":"mag:92015630","doi":null,"is_oa":false,"landing_page_url":"https://dl.acm.org/citation.cfm?id=935711","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2803561572","https://openalex.org/W645155016","https://openalex.org/W88421479","https://openalex.org/W1504165437","https://openalex.org/W1984303163","https://openalex.org/W2100926607","https://openalex.org/W4240983189","https://openalex.org/W1855254203","https://openalex.org/W1557475516","https://openalex.org/W15877772"],"abstract_inverted_index":{"Program":[0],"analysis":[1,37,85,181,196,205,232,248,282,291],"has":[2],"become":[3],"more":[4,217,335],"frequently":[5],"used":[6],"for":[7,35,75,133,145,179,228,258,306,328,346],"applications":[8,19],"such":[9],"as":[10,148,343],"automatic":[11,163],"parallelization,":[12],"debugging,":[13],"and":[14,51,97,126,277,280,302,310,321],"program":[15,36,84],"comprehension.":[16],"These":[17],"new":[18,21,42,45,177],"require":[20],"methods":[22,43],"that":[23],"provide":[24],"greater":[25],"precision":[26],"at":[27,207],"lower":[28],"computational":[29],"cost":[30],"than":[31],"traditional":[32],"techniques":[33],"developed":[34,98],"in":[38,47,94,104,190,222,242],"compilers.":[39],"However,":[40],"these":[41],"incur":[44],"costs":[46,283],"complexity":[48,320],"of":[49,65,81,91,111,119,185,194,220,268,273,290],"understanding":[50],"use.":[52],"To":[53],"facilitate":[54,334],"their":[55,95],"use":[56],"we":[57,87],"need":[58],"sound":[59,266],"frameworks":[60,100,121],"which":[61,101,134,182],"support":[62],"the":[63,79,105,109,186,223],"construction":[64,184],"analyses":[66,113,130,188,305],"based":[67],"upon":[68],"them,":[69],"allowing":[70],"reuse":[71],"without":[72,157],"constant":[73],"reinvention":[74],"each":[76],"application.":[77],"\r\nIn":[78],"exploration":[80],"three":[82,99],"difficult":[83],"problems,":[86],"resolved":[88],"a":[89,176,216,229,251,285,325,344],"number":[90],"issues":[92,263],"involved":[93,189],"solution,":[96],"can":[102,212,249],"help":[103],"future":[106],"to":[107,114,128,153,172,299,318,333],"ease":[108],"task":[110],"constructing":[112],"solve":[115],"related":[116],"problems.":[117],"Some":[118],"our":[120],"have":[122],"already":[123],"been":[124],"generalized":[125],"applied":[127],"other":[129],"beyond":[131],"those":[132],"they":[135,149],"were":[136],"originally":[137],"designed.":[138],"\r\nAutomatic":[139],"parallelizers":[140],"are":[141],"an":[142,271],"important":[143],"tool":[144],"shared-memory":[146],"multiprocessors,":[147],"enable":[150],"sequential":[151],"code":[152],"realize":[154],"improved":[155,214],"performance":[156],"extra":[158],"programmer":[159],"effort.":[160],"The":[161,192],"SUIF":[162],"parallelizer":[164],"proved":[165],"highly":[166],"effective":[167],"on":[168],"scientific":[169],"applications.":[170],"Essential":[171],"its":[173,319],"success":[174],"was":[175],"framework":[178,227,327],"interprocedural":[180,204,304,337],"facilitated":[183],"many":[187],"parallelization.":[191],"technique":[193,289,332],"region-based":[195],"with":[197,239,275,292,308],"selective":[198],"cloning":[199],"it":[200,297,314],"incorporated":[201],"allows":[202],"precise":[203,301],"results":[206,211],"low":[208],"cost.":[209],"\r\nParallelizer":[210],"be":[213],"by":[215,236],"systematic":[218],"treatment":[219,267],"predicates":[221,238,274],"program.":[224],"A":[225,245],"general":[226],"predicated":[230,246],"data-flow":[231,240,247],"provides":[233],"this":[234,330],"treatment,":[235],"associating":[237],"values":[241],"any":[243],"analysis.":[244],"approximate":[250],"feasible":[252],"path":[253],"analysis,":[254],"or":[255],"derive":[256],"guards":[257],"conditionally":[259],"parallel":[260],"loops.":[261],"Several":[262],"prove":[264],"critical:":[265],"approximation,":[269],"avoiding":[270],"explosion":[272],"scoping":[276],"normalization":[278],"mechanisms,":[279],"reducing":[281],"through":[284],"sparse":[286],"formulation.":[287],"\r\nThe":[288],"partial":[293],"transfer":[294],"functions":[295],"makes":[296],"possible":[298],"build":[300],"efficient":[303,336],"languages":[307],"recursion":[309],"higher-order":[311],"functions,":[312],"but":[313],"is":[315],"underutilized":[316],"due":[317],"inscrutability.":[322],"We":[323],"develop":[324],"foundational":[326],"exploiting":[329],"promising":[331],"analyses.":[338],"This":[339],"development":[340],"should":[341],"serve":[342],"foundation":[345],"continuing":[347],"work.":[348]},"counts_by_year":[{"year":2016,"cited_by_count":1}],"updated_date":"2026-09-22T06:50:58.402377","created_date":"2016-06-24T00:00:00"}
