{"id":{"repo_id":"colostate","oai_identifier":"oai:mountainscholar.org:10217/37716"},"canonical_url":"https://search.dev.ndltd.org/etd/colostate/oai:mountainscholar.org:10217/37716","repository":{"repo_id":"colostate","name":"Colorado State University","base_url":"https://api.mountainscholar.org/server/oai/request"},"display":{"title":"Automatic determination of may/must set usage in data-flow analysis","abstract":"Data-flow analysis is a common technique for gathering program information for use in performance improving transformations such as register allocation, deadcode elimination, common subexpression elimination, and scheduling. Current tools for generating data-flow analysis implementations enable analysis details to be specified orthogonally to the solution algorithm, but still require implementation details regarding the may and must use and definition sets that occur due to the effects of pointers, side effects, arrays, and user-defined structures. This thesis presents the Data-Flow Analysis Generator tool (DFAGen), which enables analysis writers to generate pointer, aggregate, and side-effect cognizant analyzers for separable and nonseparable data-flow analyses, from a specification that assumes only scalars. By hiding the compiler-specific details behind predefined set definitions, the analysis specifications for the DFAGen tool are typically less than ten lines long and similar to those in standard compiler textbooks. The two main contributions of this work are the automatic determination of when to use the may or must variant of a predefined set reference in the analysis specification, and the design of the analysis specification language so that data-flow problem and compiler framework implementation details are specified orthogonally.","abstract_html":"Data-flow analysis is a common technique for gathering program information for use in performance improving transformations such as register allocation, deadcode elimination, common subexpression elimination, and scheduling. Current tools for generating data-flow analysis implementations enable analysis details to be specified orthogonally to the solution algorithm, but still require implementation details regarding the may and must use and definition sets that occur due to the effects of pointers, side effects, arrays, and user-defined structures. This thesis presents the Data-Flow Analysis Generator tool (DFAGen), which enables analysis writers to generate pointer, aggregate, and side-effect cognizant analyzers for separable and nonseparable data-flow analyses, from a specification that assumes only scalars. By hiding the compiler-specific details behind predefined set definitions, the analysis specifications for the DFAGen tool are typically less than ten lines long and similar to those in standard compiler textbooks. The two main contributions of this work are the automatic determination of when to use the may or must variant of a predefined set reference in the analysis specification, and the design of the analysis specification language so that data-flow problem and compiler framework implementation details are specified orthogonally.","abstract_has_math":false,"creators":["Stone, Andrew, author","Strout, Michelle, advisor","Rajopadhye, Sanjay Vishnu, committee member","Liu, Jiangguo, committee member"],"institution":"Colorado State University. Libraries","degree_name":"Master of Science (M.S.)","degree_level":"Masters","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2009,"date_issued":"2009","date_published":"2009","updated_at":"2026-07-27T19:13:18Z","subjects":[],"languages":["eng","English"],"rights":["Copyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright."],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://doi.org/10.25675/3.018859"],"render_values":[{"text":"https://doi.org/10.25675/3.018859","href":"https://doi.org/10.25675/3.018859","code":true}]},{"key":"dc:identifier","label":"Identifier","values":["ETDF2009100002COMS"],"render_values":[{"text":"ETDF2009100002COMS","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/10217/37716","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["Stone, Andrew, author","Strout, Michelle, advisor","Rajopadhye, Sanjay Vishnu, committee member","Liu, Jiangguo, committee member"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2007-01-03T04:32:32Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2007-01-03T04:32:32Z"]},{"key":"dc:date.issued","label":"Date","values":["2009"]},{"key":"dc:publisher","label":"Institution","values":["Colorado State University. Libraries"]},{"key":"dc:relation","label":"Dc Relation","values":["Catalog record number (MMS ID): 991011896589703361","QA76.76.C65.S765 2009"]},{"key":"dc:type","label":"Dc Type","values":["Text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Masters"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master of Science (M.S.)"]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["Colorado State University"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["English"]},{"key":"dc:language.iso","label":"Language (ISO)","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright."]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["2009_Summer_Stone_Andrew.pdf","ETDF2009100002COMS"]},{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://hdl.handle.net/10217/37716","https://doi.org/10.25675/3.018859"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Department Head: L. Darrell Whitley."]},{"key":"dc:description.abstract","label":"Abstract","values":["Data-flow analysis is a common technique for gathering program information for use in performance improving transformations such as register allocation, deadcode elimination, common subexpression elimination, and scheduling. Current tools for generating data-flow analysis implementations enable analysis details to be specified orthogonally to the solution algorithm, but still require implementation details regarding the may and must use and definition sets that occur due to the effects of pointers, side effects, arrays, and user-defined structures. This thesis presents the Data-Flow Analysis Generator tool (DFAGen), which enables analysis writers to generate pointer, aggregate, and side-effect cognizant analyzers for separable and nonseparable data-flow analyses, from a specification that assumes only scalars. By hiding the compiler-specific details behind predefined set definitions, the analysis specifications for the DFAGen tool are typically less than ten lines long and similar to those in standard compiler textbooks. The two main contributions of this work are the automatic determination of when to use the may or must variant of a predefined set reference in the analysis specification, and the design of the analysis specification language so that data-flow problem and compiler framework implementation details are specified orthogonally."]},{"key":"dc:format.medium","label":"Dc Format Medium","values":["masters theses"]},{"key":"dc:title","label":"Title","values":["Automatic determination of may/must set usage in data-flow analysis"]}]}],"canonical_facts":{"dc:creator":["Stone, Andrew, author","Strout, Michelle, advisor","Rajopadhye, Sanjay Vishnu, committee member","Liu, Jiangguo, committee member"],"dc:date.accessioned":["2007-01-03T04:32:32Z"],"dc:date.available":["2007-01-03T04:32:32Z"],"dc:date.issued":["2009"],"dc:description":["Department Head: L. Darrell Whitley."],"dc:description.abstract":["Data-flow analysis is a common technique for gathering program information for use in performance improving transformations such as register allocation, deadcode elimination, common subexpression elimination, and scheduling. Current tools for generating data-flow analysis implementations enable analysis details to be specified orthogonally to the solution algorithm, but still require implementation details regarding the may and must use and definition sets that occur due to the effects of pointers, side effects, arrays, and user-defined structures. This thesis presents the Data-Flow Analysis Generator tool (DFAGen), which enables analysis writers to generate pointer, aggregate, and side-effect cognizant analyzers for separable and nonseparable data-flow analyses, from a specification that assumes only scalars. By hiding the compiler-specific details behind predefined set definitions, the analysis specifications for the DFAGen tool are typically less than ten lines long and similar to those in standard compiler textbooks. The two main contributions of this work are the automatic determination of when to use the may or must variant of a predefined set reference in the analysis specification, and the design of the analysis specification language so that data-flow problem and compiler framework implementation details are specified orthogonally."],"dc:format.medium":["masters theses"],"dc:identifier":["2009_Summer_Stone_Andrew.pdf","ETDF2009100002COMS"],"dc:identifier.uri":["http://hdl.handle.net/10217/37716","https://doi.org/10.25675/3.018859"],"dc:language":["English"],"dc:language.iso":["eng"],"dc:publisher":["Colorado State University. Libraries"],"dc:relation":["Catalog record number (MMS ID): 991011896589703361","QA76.76.C65.S765 2009"],"dc:rights":["Copyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright."],"dc:title":["Automatic determination of may/must set usage in data-flow analysis"],"dc:type":["Text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Masters"],"thesis:degree_name":["Master of Science (M.S.)"],"thesis:institution_name":["Colorado State University"]},"updated_at":"2026-07-27T19:13:18Z"}