{"id":"https://openalex.org/W2164638440","doi":"https://doi.org/10.1145/267959.269970","title":"A practical framework for demand-driven interprocedural data flow analysis","display_name":"A practical framework for demand-driven interprocedural data flow analysis","publication_year":1997,"publication_date":"1997-11-01","ids":{"openalex":"https://openalex.org/W2164638440","doi":"https://doi.org/10.1145/267959.269970","mag":"2164638440"},"language":"en","primary_location":{"id":"doi:10.1145/267959.269970","doi":"https://doi.org/10.1145/267959.269970","is_oa":true,"landing_page_url":"https://doi.org/10.1145/267959.269970","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/267959.269970","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,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/267959.269970","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5029055674","display_name":"Evelyn Duesterwald","orcid":"https://orcid.org/0000-0003-0884-4470","observed_orcids":["https://orcid.org/0000-0003-0884-4470"]},"institutions":[{"id":"https://openalex.org/I170201317","display_name":"University of Pittsburgh","ror":"https://ror.org/01an3r305","country_code":"US","type":"education","lineage":["https://openalex.org/I170201317"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Evelyn Duesterwald","raw_affiliation_strings":["Univ. of Pittsburgh, Pittsburgh, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. of Pittsburgh, Pittsburgh, PA","institution_ids":["https://openalex.org/I170201317"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100699251","display_name":"Rajiv Gupta","orcid":"https://orcid.org/0000-0002-9348-3974","observed_orcids":["https://orcid.org/0000-0002-9348-3974"]},"institutions":[{"id":"https://openalex.org/I170201317","display_name":"University of Pittsburgh","ror":"https://ror.org/01an3r305","country_code":"US","type":"education","lineage":["https://openalex.org/I170201317"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rajiv Gupta","raw_affiliation_strings":["Univ. of Pittsburgh, Pittsburgh, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. of Pittsburgh, Pittsburgh, PA","institution_ids":["https://openalex.org/I170201317"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5047746948","display_name":"Mary Lou Soffa","orcid":"https://orcid.org/0000-0002-3665-7763","observed_orcids":["https://orcid.org/0000-0002-3665-7763"]},"institutions":[{"id":"https://openalex.org/I170201317","display_name":"University of Pittsburgh","ror":"https://ror.org/01an3r305","country_code":"US","type":"education","lineage":["https://openalex.org/I170201317"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mary Lou Soffa","raw_affiliation_strings":["Univ. of Pittsburgh, Pittsburgh, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. of Pittsburgh, Pittsburgh, PA","institution_ids":["https://openalex.org/I170201317"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I170201317"],"apc_list":null,"apc_paid":null,"fwci":8.1351,"has_fulltext":true,"cited_by_count":91,"citation_normalized_percentile":{"value":0.97472601,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":87,"max":98},"biblio":{"volume":"19","issue":"6","first_page":"992","last_page":"1030"},"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.9883000254631042,"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.9883000254631042,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.0019000000320374966,"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.0013000000035390258,"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/interprocedural-data-flow-analysis","display_name":"interprocedural data flow analysis","score":0.9490000009536743},{"id":"https://openalex.org/keywords/demand-driven-analysis","display_name":"demand-driven analysis","score":0.9860000014305115},{"id":"https://openalex.org/keywords/query-propagation","display_name":"query propagation","score":0.7850000262260437},{"id":"https://openalex.org/keywords/reaching-definitions","display_name":"reaching definitions","score":0.699999988079071},{"id":"https://openalex.org/keywords/program-analysis-performance","display_name":"program analysis performance","score":0.6179999709129333}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9219868183135986},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.5700200200080872},{"id":"https://openalex.org/C11821877","wikidata":"https://www.wikidata.org/wiki/Q187959","display_name":"Distributive property","level":2,"score":0.49283432960510254},{"id":"https://openalex.org/C38349280","wikidata":"https://www.wikidata.org/wiki/Q1434290","display_name":"Flow (mathematics)","level":2,"score":0.4847831130027771},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.44599512219429016},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4377167224884033},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4179462194442749},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3412643074989319},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.33338475227355957},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.1560993194580078},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10547611117362976},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.09325632452964783},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"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/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/267959.269970","doi":"https://doi.org/10.1145/267959.269970","is_oa":true,"landing_page_url":"https://doi.org/10.1145/267959.269970","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/267959.269970","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,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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.37.5761","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5761","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.colorado.edu/~diwan/7135/p992-duesterwald.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.49.8991","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.8991","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.pitt.edu/~soffa/research/Comp/toplas98.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.948.1350","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.948.1350","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.virginia.edu/%7Esoffa/Soffa_Pubs_all/Journals/Practical.Deusterwald.1997.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.948.9694","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.948.9694","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.virginia.edu/%7Esoffa/Soffa_Pubs_all/Conferences/Demand-Driven.Duesterwald.1996.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/267959.269970","doi":"https://doi.org/10.1145/267959.269970","is_oa":true,"landing_page_url":"https://doi.org/10.1145/267959.269970","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/267959.269970","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,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G1282359748","display_name":"PYI:  Loop Transformations and Scheduling Strategies for    Parallelization Software","funder_award_id":"9157371","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6485503375","display_name":"Demand Driven Computation of Partial Data Flow and its      Application in Software Engineering","funder_award_id":"9402226","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320310174","display_name":"University of Pittsburgh","ror":"https://ror.org/01an3r305"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2164638440.pdf","grobid_xml":"https://content.openalex.org/works/W2164638440.grobid-xml"},"referenced_works_count":45,"referenced_works":["https://openalex.org/W49331338","https://openalex.org/W148396834","https://openalex.org/W1484019856","https://openalex.org/W1584826156","https://openalex.org/W1585404558","https://openalex.org/W1593165330","https://openalex.org/W1607605746","https://openalex.org/W1608142476","https://openalex.org/W1815302404","https://openalex.org/W1972064644","https://openalex.org/W1980468060","https://openalex.org/W2002771912","https://openalex.org/W2006084860","https://openalex.org/W2010452422","https://openalex.org/W2020530016","https://openalex.org/W2022043656","https://openalex.org/W2022363576","https://openalex.org/W2023222549","https://openalex.org/W2029068974","https://openalex.org/W2031364891","https://openalex.org/W2036157748","https://openalex.org/W2050320220","https://openalex.org/W2053152889","https://openalex.org/W2062764376","https://openalex.org/W2068710940","https://openalex.org/W2080573945","https://openalex.org/W2087612811","https://openalex.org/W2096139068","https://openalex.org/W2098645109","https://openalex.org/W2106017511","https://openalex.org/W2120339017","https://openalex.org/W2121669067","https://openalex.org/W2123135156","https://openalex.org/W2131135493","https://openalex.org/W2133808023","https://openalex.org/W2151266859","https://openalex.org/W2151360539","https://openalex.org/W2153913439","https://openalex.org/W2165069483","https://openalex.org/W2293286976","https://openalex.org/W2293624369","https://openalex.org/W2561675875","https://openalex.org/W2885877860","https://openalex.org/W6679996721","https://openalex.org/W6696642037"],"related_works":["https://openalex.org/W7101133666","https://openalex.org/W1815302404","https://openalex.org/W2022363576","https://openalex.org/W7098559172","https://openalex.org/W7100461955","https://openalex.org/W4248607285","https://openalex.org/W3004072022","https://openalex.org/W148396834","https://openalex.org/W2036157748","https://openalex.org/W4233220074"],"abstract_inverted_index":{"The":[0,59,81],"high":[1],"cost":[2],"and":[3,35,124,141],"growing":[4],"importance":[5],"of":[6,43,57,77,90,111],"interprocedural":[7,31],"data":[8,32,49,93,119],"flow":[9,33,50,94,120],"analysis":[10,133],"have":[11],"led":[12],"to":[13,70,103],"an":[14],"increased":[15],"interest":[16],"in":[17,39,136],"demand-driven":[18,30,64,113,132],"algorithms.":[19],"In":[20],"this":[21,44],"article,":[22],"we":[23],"present":[24],"a":[25,55,62,75,99],"general":[26],"framework":[27,60,101],"for":[28,48,87,117],"developing":[29],"analyzers":[34],"report":[36],"our":[37,112],"experience":[38],"evaluating":[40],"the":[41,68,88],"performance":[42,109],"approach.":[45],"A":[46,108],"demand":[47],"information":[51],"is":[52,115],"modeled":[53],"as":[54],"set":[56],"queries.":[58],"includes":[61],"generic":[63],"algorithm":[65],"that":[66,131],"determines":[67],"response":[69],"query":[71,78],"by":[72],"iteratively":[73],"applying":[74],"system":[76],"propagation":[79,82],"rules.":[80],"rules":[83],"yield":[84],"precise":[85],"responses":[86],"class":[89],"distributive":[91],"finite":[92],"problems.":[95,107],"We":[96],"also":[97],"describe":[98],"two-phase":[100],"variation":[102],"accurately":[104],"handle":[105],"nondistributive":[106],"evaluation":[110],"approach":[114],"presented":[116],"two":[118],"problems,":[121],"namely,":[122],"reaching-definitions":[123],"copy":[125],"constant":[126],"propagation.":[127],"Our":[128],"experiments":[129],"show":[130],"performs":[134],"well":[135],"practice,":[137],"reducing":[138],"both":[139],"time":[140],"space":[142],"requirements":[143],"when":[144],"compared":[145],"with":[146],"exhaustive":[147],"analysis.":[148]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":3},{"year":2012,"cited_by_count":6}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
