{"id":"https://openalex.org/W1537318052","doi":null,"title":"Efficient program analysis using dependence flow graphs","display_name":"Efficient program analysis using dependence flow graphs","publication_year":1995,"publication_date":"1995-11-20","ids":{"openalex":"https://openalex.org/W1537318052","mag":"1537318052"},"language":"en","primary_location":{"id":"pmh:oai:ecommons.cornell.edu:1813/6073","doi":null,"is_oa":true,"landing_page_url":"http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR94-1464","pdf_url":"https://hdl.handle.net/1813/6073","source":{"id":"https://openalex.org/S4306400757","display_name":"eCommons (Cornell University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":"technical report"},"volume":null,"type":"report","is_traditional":false,"indexed_in":[],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://hdl.handle.net/1813/6073","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103336205","display_name":"Richard Johnson","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I205783295","display_name":"Cornell University","ror":"https://ror.org/05bnh6r87","country_code":"US","type":"education","lineage":["https://openalex.org/I205783295"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Richard Johnson","raw_affiliation_strings":["Cornell University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Cornell University","institution_ids":["https://openalex.org/I205783295"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5103336205"],"corresponding_institution_ids":["https://openalex.org/I205783295"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":20,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"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.7705000042915344,"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.7705000042915344,"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.14890000224113464,"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.013500000350177288,"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/data-flow-analysis","display_name":"data flow analysis","score":0.9049999713897705},{"id":"https://openalex.org/keywords/program-decomposition","display_name":"program decomposition","score":0.5440000295639038},{"id":"https://openalex.org/keywords/control-flow-graph","display_name":"control flow graph","score":0.4860000014305115},{"id":"https://openalex.org/keywords/scalar-optimization","display_name":"scalar optimization","score":0.5339999794960022},{"id":"https://openalex.org/keywords/compiler-optimization","display_name":"compiler optimization","score":0.4970000088214874},{"id":"https://openalex.org/keywords/linear-time-algorithms","display_name":"linear-time algorithms","score":0.75},{"id":"https://openalex.org/keywords/loop-regions","display_name":"loop regions","score":0.3970000147819519},{"id":"https://openalex.org/keywords/if-then-else","display_name":"if-then-else","score":0.8709999918937683}],"concepts":[{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.6541839838027954},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.650080144405365},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.6477091908454895},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6181345582008362},{"id":"https://openalex.org/C27390822","wikidata":"https://www.wikidata.org/wiki/Q320724","display_name":"Dependence analysis","level":2,"score":0.6027290225028992},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.5779120326042175},{"id":"https://openalex.org/C27458966","wikidata":"https://www.wikidata.org/wiki/Q1187693","display_name":"Control flow graph","level":2,"score":0.5622076988220215},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.535802960395813},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5082342028617859},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4952603876590729},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.47934088110923767},{"id":"https://openalex.org/C38349280","wikidata":"https://www.wikidata.org/wiki/Q1434290","display_name":"Flow (mathematics)","level":2,"score":0.47341281175613403},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.4698186218738556},{"id":"https://openalex.org/C163797641","wikidata":"https://www.wikidata.org/wiki/Q2067937","display_name":"Tree structure","level":3,"score":0.4402492642402649},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.43640294671058655},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2952636778354645},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.18652081489562988},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.10813063383102417},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"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":"pmh:oai:ecommons.cornell.edu:1813/6073","doi":null,"is_oa":true,"landing_page_url":"http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR94-1464","pdf_url":"https://hdl.handle.net/1813/6073","source":{"id":"https://openalex.org/S4306400757","display_name":"eCommons (Cornell University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":"technical report"},{"id":"mag:1537318052","doi":null,"is_oa":false,"landing_page_url":"http://ecommons.cornell.edu/bitstream/1813/6073/1/94-1464.pdf","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":{"id":"pmh:oai:ecommons.cornell.edu:1813/6073","doi":null,"is_oa":true,"landing_page_url":"http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR94-1464","pdf_url":"https://hdl.handle.net/1813/6073","source":{"id":"https://openalex.org/S4306400757","display_name":"eCommons (Cornell University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":"technical report"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1537318052.pdf","grobid_xml":"https://content.openalex.org/works/W1537318052.grobid-xml"},"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W3016804885","https://openalex.org/W7096241262","https://openalex.org/W2999016616","https://openalex.org/W2033396115","https://openalex.org/W2143616438","https://openalex.org/W1580051730","https://openalex.org/W2613358960","https://openalex.org/W2091789763","https://openalex.org/W2257050627","https://openalex.org/W7095276456"],"abstract_inverted_index":{"Program":[0],"analysis":[1,15,27,63,92],"plays":[2],"a":[3,58,84,129,180,194,218,286,341,507],"major":[4],"role":[5],"in":[6,83,179,198,217,260,285,324],"advanced":[7],"compilers,":[8],"yet":[9],"traditional":[10],"approaches":[11],"to":[12,40,118,154,213,228,251,282,411,513],"data":[13,25,79,111,115,181,263,297,304,315,367,402,406,418,498],"flow":[14,26,66,112,143,196,264,298,305,316,333,368,395,403,419,478,499],"are":[16],"quite":[17],"time":[18],"consuming.":[19],"Prior":[20],"techniques":[21],"for":[22,61,168,382,446,495],"speeding":[23,496],"up":[24,120,205,497],"have":[28,34],"either":[29],"exploited":[30,244,294],"program":[31,50,62,91,107,131,185,256,433,473],"structure":[32,51,116,182,186,231,241,257,361,379,407,474],"or":[33,235],"used":[35,259],"alternate":[36],"\"sparse\"":[37],"dependence":[38,65,99,160,332,394,477],"representations":[39],"avoid":[41,374],"performing":[42],"unnecessary":[43],"work.":[44],"No":[45],"general":[46,88],"method":[47,127],"exploiting":[48],"both":[49,448],"and":[52,80,89,114,162,238,362,380,451,476,504],"sparsity":[53,109,322,349,363,381],"has":[54],"emerged.":[55],"We":[56,146,318,455],"present":[57],"new":[59,130],"framework":[60],"using":[64,370],"graphs":[67],"(DFGs),":[68],"an":[69,466],"intermediate":[70],"representation":[71,509],"derived":[72],"from":[73,465],"dataflow":[74],"machine":[75],"graphs.":[76,347],"DFGs":[77],"integrate":[78],"control":[81,142,159,195],"dependences":[82],"way":[85],"that":[86,148,310,320,470,489,502],"supports":[87],"efficient":[90],"while":[93],"avoiding":[94,301],"the":[95,123,141,155,184,252,290,314,321,335,356,371,375,389,393,413,424,429,432,439,449,452,457,472,511],"problems":[96,265,270],"of":[97,110,125,140,157,174,303,345,355,377,391,416,427,459],"previous":[98],"representations.":[100],"In":[101,386],"particular,":[102],"our":[103,126,460,485],"approach":[104,461],"simultaneously":[105],"exploits":[106],"structure,":[108],"systems,":[113],"reuse":[117,408,422],"speed":[119,204],"analysis.":[121],"At":[122],"heart":[124],"is":[128,152,177,193,258,279,293,328,337,350,397,409,434,510],"decomposition":[132],"based":[133,351],"on":[134,352],"identifying":[135],"single-entry":[136],"single-exit":[137],"(SESE)":[138],"regions":[139,151,176,223,284,309,354],"graph":[144,197,396,479],"(CFG).":[145],"show":[147,319],"finding":[149,158],"SESE":[150,175,191,215,222,274,308,353],"equivalent":[153],"problem":[156,299,384],"regions,":[161],"we":[163,202,358,373,441,487],"develop":[164],"optimal":[165],"linear-time":[166],"algorithms":[167,208,445],"these":[169],"problems.":[170,404],"The":[171,276],"nesting":[172],"relationship":[173],"recorded":[178],"called":[183],"tree":[187,475],"(PST).":[188],"Since":[189,348],"each":[190,214,296,383],"region":[192,216,253],"its":[199,481],"own":[200],"right,":[201],"can":[203,224],"many":[206,400],"CFG":[207],"by":[209,245,266,300,331],"applying":[210,246],"them":[211],"independently":[212],"divide-and-conquer":[219],"manner.":[220],"Additionally,":[221],"be":[225,243],"categorized":[226],"according":[227,250],"their":[229],"local":[230,240,269],"(e.g.":[232],"as":[233,340,431,480],"if-then-else":[234],"loop":[236],"regions),":[237],"this":[239,387,515],"may":[242,359],"simple":[247],"syntactic":[248],"methods":[249,491],"kind.":[254],"Hierarchical":[255],"solving":[261,268,366],"global":[262,277],"first":[267],"within":[271,295],"progressively":[272],"larger":[273],"regions.":[275],"solution":[278],"then":[280,338],"propagated":[281],"enclosed":[283],"top-down":[287],"pass":[288],"over":[289,399],"PST.":[291],"Sparsity":[292],"propagation":[302],"values":[306],"through":[307,462],"do":[311],"not":[312],"effect":[313],"solution.":[317],"found":[323],"common":[325],"scalar":[326],"optimizations":[327],"captured":[329],"precisely":[330],"graphs;":[334],"DFG":[336,430,450],"viewed":[339],"reusable":[342],"\"basis":[343],"set\"":[344],"sparse":[346,417,490,508],"PST,":[357,440],"exploit":[360],"simultaneously.":[364],"By":[365],"systems":[369],"DFG,":[372],"cost":[376,390],"rediscovering":[378],"instance.":[385],"case,":[388],"building":[392],"amortized":[398],"related":[401],"Such":[405],"essential":[410],"realizing":[412,514],"full":[414],"potential":[415,494],"methods.":[420],"However,":[421],"adds":[423],"additional":[425],"burden":[426],"maintaining":[428],"transformed":[435],"during":[436],"optimization.":[437],"Using":[438],"derive":[442],"practical":[443],"incremental":[444],"updating":[447,506],"PST":[453],"itself.":[454],"demonstrate":[456],"value":[458],"measurements":[463],"taken":[464],"optimizing":[467],"FORTRAN":[468],"compiler":[469],"uses":[471],"internal":[482],"representation.":[483],"From":[484],"experiments,":[486],"conclude":[488],"hold":[492],"great":[493],"analysis,":[500],"but":[501],"reusing":[503],"incrementally":[505],"key":[512],"potential.":[516]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":2},{"year":2014,"cited_by_count":2}],"updated_date":"2026-09-01T08:31:24.195828","created_date":"2016-06-24T00:00:00"}
