{"@context":{"@vocab":"https://cir.nii.ac.jp/schema/1.0/","rdfs":"http://www.w3.org/2000/01/rdf-schema#","dc":"http://purl.org/dc/elements/1.1/","dcterms":"http://purl.org/dc/terms/","foaf":"http://xmlns.com/foaf/0.1/","prism":"http://prismstandard.org/namespaces/basic/2.0/","cinii":"http://ci.nii.ac.jp/ns/1.0/","datacite":"https://schema.datacite.org/meta/kernel-4/","ndl":"http://ndl.go.jp/dcndl/terms/","jpcoar":"https://github.com/JPCOAR/schema/blob/master/2.0/"},"@id":"https://cir.nii.ac.jp/crid/1362825894724817536.json","@type":"Article","productIdentifier":[{"identifier":{"@type":"DOI","@value":"10.1145/360018.360025"}},{"identifier":{"@type":"URI","@value":"https://dl.acm.org/doi/10.1145/360018.360025"}},{"identifier":{"@type":"URI","@value":"https://dl.acm.org/doi/pdf/10.1145/360018.360025"}}],"dc:title":[{"@value":"A program data flow analysis procedure"}],"description":[{"type":"abstract","notation":[{"@value":"<jats:p>The global data relationships in a program can be exposed and codified by the static analysis methods described in this paper. A procedure is given which determines all the definitions which can possibly “reach” each node of the control flow graph of the program and all the definitions that are “live” on each edge of the graph. The procedure uses an “interval” ordered edge listing data structure and handles reducible and irreducible graphs indistinguishably.</jats:p>"}]}],"creator":[{"@id":"https://cir.nii.ac.jp/crid/1380004230543377794","@type":"Researcher","foaf:name":[{"@value":"F. E. Allen"}],"jpcoar:affiliationName":[{"@value":"IBM Thomas J. Watson Research Center, Yorktown Heights, NY"}]},{"@id":"https://cir.nii.ac.jp/crid/1382825894724817537","@type":"Researcher","foaf:name":[{"@value":"J. Cocke"}],"jpcoar:affiliationName":[{"@value":"IBM Thomas J. Watson Research Center, Yorktown Heights, NY"}]}],"publication":{"publicationIdentifier":[{"@type":"PISSN","@value":"00010782"},{"@type":"EISSN","@value":"15577317"}],"prism:publicationName":[{"@value":"Communications of the ACM"}],"dc:publisher":[{"@value":"Association for Computing Machinery (ACM)"}],"prism:publicationDate":"1976-03","prism:volume":"19","prism:number":"3","prism:startingPage":"137"},"reviewed":"false","dc:rights":["https://www.acm.org/publications/policies/copyright_policy#Background"],"url":[{"@id":"https://dl.acm.org/doi/10.1145/360018.360025"},{"@id":"https://dl.acm.org/doi/pdf/10.1145/360018.360025"}],"createdAt":"2002-07-27","modifiedAt":"2025-06-17","relatedProduct":[{"@id":"https://cir.nii.ac.jp/crid/1360004230543377920","@type":"Article","resourceType":"学術雑誌論文(journal article)","relationType":["isReferencedBy"],"jpcoar:relatedTitle":[{"@value":"Syntax-Directed Divide-and-Conquer Data-Flow Analysis"}]},{"@id":"https://cir.nii.ac.jp/crid/1360848661210864640","@type":"Article","resourceType":"学術雑誌論文(journal article)","relationType":["isReferencedBy"],"jpcoar:relatedTitle":[{"@value":"Reducing calling convention overhead in object-oriented programming on embedded ARM thumb-2 platforms"}]},{"@id":"https://cir.nii.ac.jp/crid/1390285300186856576","@type":"Article","relationType":["isReferencedBy"],"jpcoar:relatedTitle":[{"@language":"en","@value":"A Highly Reliable Compilation Optimization Passes Sequence Generation Framework"}]}],"dataSourceIdentifier":[{"@type":"CROSSREF","@value":"10.1145/360018.360025"},{"@type":"CROSSREF","@value":"10.1007/978-3-319-12736-1_21_references_DOI_TX6FrK8CMvCxtAZdRbnHTTJ3ayZ"},{"@type":"CROSSREF","@value":"10.1587/transinf.2020edl8006_references_DOI_TX6FrK8CMvCxtAZdRbnHTTJ3ayZ"},{"@type":"CROSSREF","@value":"10.1145/3136040.3136057_references_DOI_TX6FrK8CMvCxtAZdRbnHTTJ3ayZ"}]}