{"id":"https://openalex.org/W2016558072","doi":"https://doi.org/10.1145/359588.359596","title":"A practical interprocedural data flow analysis algorithm","display_name":"A practical interprocedural data flow analysis algorithm","publication_year":1978,"publication_date":"1978-09-01","ids":{"openalex":"https://openalex.org/W2016558072","doi":"https://doi.org/10.1145/359588.359596","mag":"2016558072"},"language":"en","primary_location":{"id":"doi:10.1145/359588.359596","doi":"https://doi.org/10.1145/359588.359596","is_oa":true,"landing_page_url":"https://doi.org/10.1145/359588.359596","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/359588.359596","source":{"id":"https://openalex.org/S103482838","display_name":"Communications of the ACM","issn_l":"0001-0782","issn":["0001-0782","1557-7317"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["anvur-scientific","cwts-core","dongbi-b","fnege-3","jufo-3","norway-2","poland-140","russia-white-list-1","vabb-shw"],"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":"Communications of the ACM","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/359588.359596","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5067750314","display_name":"Jeffrey M. Barth","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jeffrey M. Barth","raw_affiliation_strings":["Stanford Univ., Stanford, CA","Stanford University Stanford CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford Univ., Stanford, CA","institution_ids":["https://openalex.org/I97018004"]},{"raw_affiliation_string":"Stanford University Stanford CA","institution_ids":["https://openalex.org/I97018004"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5067750314"],"corresponding_institution_ids":["https://openalex.org/I97018004"],"apc_list":null,"apc_paid":null,"fwci":7.8009,"has_fulltext":true,"cited_by_count":153,"citation_normalized_percentile":{"value":0.97161779,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":96},"biblio":{"volume":"21","issue":"9","first_page":"724","last_page":"736"},"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.989300012588501,"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.989300012588501,"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.0017000000225380063,"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"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.0015999999595806003,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/interprocedural-data-flow-analysis","display_name":"interprocedural data flow analysis","score":0.9800000190734863},{"id":"https://openalex.org/keywords/one-pass-algorithms","display_name":"one-pass algorithms","score":0.5709999799728394},{"id":"https://openalex.org/keywords/recursive-programs","display_name":"recursive programs","score":0.8330000042915344},{"id":"https://openalex.org/keywords/reference-parameters","display_name":"reference parameters","score":0.9279999732971191},{"id":"https://openalex.org/keywords/variable-sharing","display_name":"variable sharing","score":0.8610000014305115},{"id":"https://openalex.org/keywords/time-complexity","display_name":"time complexity","score":0.6759999990463257},{"id":"https://openalex.org/keywords/program-analysis","display_name":"program analysis","score":0.6370000243186951}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8653334379196167},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.6411108374595642},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.5577747225761414},{"id":"https://openalex.org/C38349280","wikidata":"https://www.wikidata.org/wiki/Q1434290","display_name":"Flow (mathematics)","level":2,"score":0.45693910121917725},{"id":"https://openalex.org/C2779136372","wikidata":"https://www.wikidata.org/wiki/Q10283002","display_name":"Information flow","level":2,"score":0.4517506957054138},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.36532068252563477},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3399168848991394},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1065969169139862},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.05698111653327942},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","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/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/359588.359596","doi":"https://doi.org/10.1145/359588.359596","is_oa":true,"landing_page_url":"https://doi.org/10.1145/359588.359596","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/359588.359596","source":{"id":"https://openalex.org/S103482838","display_name":"Communications of the ACM","issn_l":"0001-0782","issn":["0001-0782","1557-7317"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["anvur-scientific","cwts-core","dongbi-b","fnege-3","jufo-3","norway-2","poland-140","russia-white-list-1","vabb-shw"],"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":"Communications of the ACM","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/359588.359596","doi":"https://doi.org/10.1145/359588.359596","is_oa":true,"landing_page_url":"https://doi.org/10.1145/359588.359596","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/359588.359596","source":{"id":"https://openalex.org/S103482838","display_name":"Communications of the ACM","issn_l":"0001-0782","issn":["0001-0782","1557-7317"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["anvur-scientific","cwts-core","dongbi-b","fnege-3","jufo-3","norway-2","poland-140","russia-white-list-1","vabb-shw"],"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":"Communications of the ACM","raw_type":"journal-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2016558072.pdf","grobid_xml":"https://content.openalex.org/works/W2016558072.grobid-xml"},"referenced_works_count":13,"referenced_works":["https://openalex.org/W110734221","https://openalex.org/W168348267","https://openalex.org/W1556425961","https://openalex.org/W1570006384","https://openalex.org/W1970357395","https://openalex.org/W1991133357","https://openalex.org/W2031867273","https://openalex.org/W2038282408","https://openalex.org/W2047615655","https://openalex.org/W2050464392","https://openalex.org/W2092003307","https://openalex.org/W2104416102","https://openalex.org/W2525381981"],"related_works":["https://openalex.org/W2038282408","https://openalex.org/W168348267","https://openalex.org/W1991133357","https://openalex.org/W2011143944","https://openalex.org/W4248607285","https://openalex.org/W2048683749","https://openalex.org/W2012101653","https://openalex.org/W7100640010","https://openalex.org/W1963905457","https://openalex.org/W1981131019"],"abstract_inverted_index":{"A":[0],"new":[1],"interprocedural":[2],"data":[3],"flow":[4],"analysis":[5],"algorithm":[6,12,48,72,100],"is":[7,49,73,101,112],"presented":[8],"and":[9,31,42,58,111],"analyzed.":[10],"The":[11,47,71,99],"associates":[13],"with":[14,61],"each":[15],"procedure":[16],"in":[17,75,84,104],"a":[18,37,85,90],"program":[19],"information":[20,83],"about":[21],"which":[22,27,32,66,117],"variables":[23,65],"may":[24,28],"be":[25,29,53],"modified,":[26],"used,":[30],"are":[33,118],"possibly":[34],"preserved":[35],"by":[36],"call":[38],"on":[39,55,115],"the":[40,62],"procedure,":[41],"all":[43,80],"of":[44,64,81],"its":[45],"subcalls.":[46],"sufficiently":[50],"powerful":[51],"to":[52,59,92],"used":[54],"recursive":[56],"programs":[57,116],"deal":[60],"sharing":[63,97],"arises":[67],"through":[68],"reference":[69],"parameters.":[70],"unique":[74],"that":[76],"it":[77],"can":[78],"compute":[79,93],"this":[82],"single":[86],"pass,":[87],"not":[88],"requiring":[89],"prepass":[91],"calling":[94],"relationships":[95],"or":[96],"patterns.":[98],"asymptotically":[102],"optimal":[103],"time":[105],"complexity.":[106],"It":[107],"has":[108],"been":[109],"implemented":[110],"practical":[113],"even":[114],"quite":[119],"large.":[120]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
