{"id":{"repo_id":"vt","oai_identifier":"oai:vtechworks.lib.vt.edu:10919/110184"},"canonical_url":"https://search.dev.ndltd.org/etd/vt/oai:vtechworks.lib.vt.edu:10919/110184","repository":{"repo_id":"vt","name":"Virginia Tech","base_url":"https://vtechworks.lib.vt.edu/oai/request"},"display":{"title":"Predicting execution behavior for codesign synthesis using static analysis","abstract":"Code optimizing techniques can perform significantly better if the program control flow can be predicted and the frequently invoked or. computationally intensive blocks can be identified. However, generating an execution profile, apart from being time consuming, is limited to sections of the code using the chosen input set and is data-dependent. Moreover, gathering profile data might not be possible in some environments. This thesis describes a methodology to perform static analysis of the program, generates an annotated flow graph depicting the control and data dependence of the input program and predicts its timing behavior using two different approaches. The tool can be integrated into a compiler for a custom computing machine for codesign synthesis. The timing information can be used effectively by the code optimizer to identify portions of the code to be executed in hardware from the portions to be executed in software. The problem of loose time bounds in complex programs due to conditional branches and data dependent loops has been addressed by introducing an interface for high level user execution information.","abstract_html":"Code optimizing techniques can perform significantly better if the program control flow can be predicted and the frequently invoked or. computationally intensive blocks can be identified. However, generating an execution profile, apart from being time consuming, is limited to sections of the code using the chosen input set and is data-dependent. Moreover, gathering profile data might not be possible in some environments. This thesis describes a methodology to perform static analysis of the program, generates an annotated flow graph depicting the control and data dependence of the input program and predicts its timing behavior using two different approaches. The tool can be integrated into a compiler for a custom computing machine for codesign synthesis. The timing information can be used effectively by the code optimizer to identify portions of the code to be executed in hardware from the portions to be executed in software. The problem of loose time bounds in complex programs due to conditional branches and data dependent loops has been addressed by introducing an interface for high level user execution information.","abstract_has_math":false,"creators":["Gupta, Sravasti"],"institution":"Virginia Polytechnic Institute and State University","degree_name":"M.S.","degree_level":"masters","degree_discipline":"Electrical Engineering","degree_department":"Electrical Engineering","school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":1995,"date_issued":"1995","date_published":"1995","updated_at":"2026-07-22T22:19:22Z","subjects":[],"languages":["en"],"rights":["In Copyright"],"rights_urls":["http://rightsstatements.org/vocab/InC/1.0/"],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/10919/110184","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.department","label":"Department","values":["Electrical Engineering"]},{"key":"dc:creator","label":"Author","values":["Gupta, Sravasti"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2022-05-24T17:21:36Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2022-05-24T17:21:36Z"]},{"key":"dc:date.issued","label":"Date","values":["1995"]},{"key":"dc:publisher","label":"Institution","values":["Virginia Polytechnic Institute and State University"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"dc:type.dcmitype","label":"Dc Type Dcmitype","values":["Text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Electrical Engineering"]},{"key":"thesis:degree_level","label":"Degree Level","values":["masters"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["Virginia Polytechnic Institute and State University"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["In Copyright"]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://rightsstatements.org/vocab/InC/1.0/"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://hdl.handle.net/10919/110184"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Code optimizing techniques can perform significantly better if the program control flow can be predicted and the frequently invoked or. computationally intensive blocks can be identified. However, generating an execution profile, apart from being time consuming, is limited to sections of the code using the chosen input set and is data-dependent. Moreover, gathering profile data might not be possible in some environments. This thesis describes a methodology to perform static analysis of the program, generates an annotated flow graph depicting the control and data dependence of the input program and predicts its timing behavior using two different approaches. The tool can be integrated into a compiler for a custom computing machine for codesign synthesis. The timing information can be used effectively by the code optimizer to identify portions of the code to be executed in hardware from the portions to be executed in software. The problem of loose time bounds in complex programs due to conditional branches and data dependent loops has been addressed by introducing an interface for high level user execution information."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M.S."]},{"key":"dc:format.mimetype","label":"Dc Format Mimetype","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Predicting execution behavior for codesign synthesis using static analysis"]}]}],"canonical_facts":{"dc:contributor.department":["Electrical Engineering"],"dc:creator":["Gupta, Sravasti"],"dc:date.accessioned":["2022-05-24T17:21:36Z"],"dc:date.available":["2022-05-24T17:21:36Z"],"dc:date.issued":["1995"],"dc:description.abstract":["Code optimizing techniques can perform significantly better if the program control flow can be predicted and the frequently invoked or. computationally intensive blocks can be identified. However, generating an execution profile, apart from being time consuming, is limited to sections of the code using the chosen input set and is data-dependent. Moreover, gathering profile data might not be possible in some environments. This thesis describes a methodology to perform static analysis of the program, generates an annotated flow graph depicting the control and data dependence of the input program and predicts its timing behavior using two different approaches. The tool can be integrated into a compiler for a custom computing machine for codesign synthesis. The timing information can be used effectively by the code optimizer to identify portions of the code to be executed in hardware from the portions to be executed in software. The problem of loose time bounds in complex programs due to conditional branches and data dependent loops has been addressed by introducing an interface for high level user execution information."],"dc:description.degree":["M.S."],"dc:format.mimetype":["application/pdf"],"dc:identifier.uri":["http://hdl.handle.net/10919/110184"],"dc:language.iso":["en"],"dc:publisher":["Virginia Polytechnic Institute and State University"],"dc:rights":["In Copyright"],"dc:rights.uri":["http://rightsstatements.org/vocab/InC/1.0/"],"dc:title":["Predicting execution behavior for codesign synthesis using static analysis"],"dc:type":["Thesis"],"dc:type.dcmitype":["Text"],"thesis:degree_discipline":["Electrical Engineering"],"thesis:degree_level":["masters"],"thesis:degree_name":["M.S."],"thesis:institution_name":["Virginia Polytechnic Institute and State University"]},"updated_at":"2026-07-22T22:19:22Z"}