{"id":{"repo_id":"unm","oai_identifier":"oai:digitalrepository.unm.edu:cs_etds-1073"},"canonical_url":"https://search.dev.ndltd.org/etd/unm/oai:digitalrepository.unm.edu:cs_etds-1073","repository":{"repo_id":"unm","name":"University of New Mexico","base_url":"https://digitalrepository.unm.edu/do/oai/"},"display":{"title":"Programmer feedback and dynamic analysis to enable optimization in Java applications: the D.U.P.O. framework","abstract":"It is inherently difficult for static analyses to make precise decisions about dynamic features of modern object-oriented languages. This makes it more difficult to apply optimizations aggressively. This thesis introduces the D.U.P.O. framework to facilitate the use of dynamic analyses to enable performance optimizations. Since dynamic analyses cannot guarantee complete code coverage, a two part strategy is employed: unit tests are used as a de facto specification, and the programmer provides final verification. The interaction can be kept at a minimum by using the rich information provided by a dynamic analysis. Object inlining is discussed as an example instance of the framework.","abstract_html":"It is inherently difficult for static analyses to make precise decisions about dynamic features of modern object-oriented languages. This makes it more difficult to apply optimizations aggressively. This thesis introduces the D.U.P.O. framework to facilitate the use of dynamic analyses to enable performance optimizations. Since dynamic analyses cannot guarantee complete code coverage, a two part strategy is employed: unit tests are used as a de facto specification, and the programmer provides final verification. The interaction can be kept at a minimum by using the rich information provided by a dynamic analysis. Object inlining is discussed as an example instance of the framework.","abstract_has_math":false,"creators":["Mohr, David"],"institution":null,"degree_name":"Computer Science","degree_level":"Thesis","degree_discipline":"Department of Computer Science","degree_department":null,"school":null,"contributors":["Stefanovic, Darko","Diwan, Amer","Bridges, Patrick G."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2009,"date_issued":"2009-05-01T07:00:00Z","date_published":"2009-05-01T07:00:00Z","updated_at":"2026-07-24T05:26:07Z","subjects":["java","optimization","dynamic anaylsis","offline","unit tests","programmer interaction"],"languages":["English"],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["https://digitalrepository.unm.edu/cs_etds/74"],"render_values":[{"text":"https://digitalrepository.unm.edu/cs_etds/74","href":"https://digitalrepository.unm.edu/cs_etds/74","code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/1928/10835","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Stefanovic, Darko","Diwan, Amer","Bridges, Patrick G."]},{"key":"dc:creator","label":"Author","values":["Mohr, David"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"thesis:degree_discipline","label":"Discipline","values":["Department of Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis","Masters"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Computer Science"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["java","optimization","dynamic anaylsis","offline","unit tests","programmer interaction"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["English"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/1928/10835","https://digitalrepository.unm.edu/cs_etds/74"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["It is inherently difficult for static analyses to make precise decisions about dynamic features of modern object-oriented languages. This makes it more difficult to apply optimizations aggressively. This thesis introduces the D.U.P.O. framework to facilitate the use of dynamic analyses to enable performance optimizations. Since dynamic analyses cannot guarantee complete code coverage, a two part strategy is employed: unit tests are used as a de facto specification, and the programmer provides final verification. The interaction can be kept at a minimum by using the rich information provided by a dynamic analysis. Object inlining is discussed as an example instance of the framework."]},{"key":"dc:title","label":"Title","values":["Programmer feedback and dynamic analysis to enable optimization in Java applications: the D.U.P.O. framework"]}]}],"canonical_facts":{"dc:contributor":["Stefanovic, Darko","Diwan, Amer","Bridges, Patrick G."],"dc:creator":["Mohr, David"],"dc:description.abstract":["It is inherently difficult for static analyses to make precise decisions about dynamic features of modern object-oriented languages. This makes it more difficult to apply optimizations aggressively. This thesis introduces the D.U.P.O. framework to facilitate the use of dynamic analyses to enable performance optimizations. Since dynamic analyses cannot guarantee complete code coverage, a two part strategy is employed: unit tests are used as a de facto specification, and the programmer provides final verification. The interaction can be kept at a minimum by using the rich information provided by a dynamic analysis. Object inlining is discussed as an example instance of the framework."],"dc:identifier":["http://hdl.handle.net/1928/10835","https://digitalrepository.unm.edu/cs_etds/74"],"dc:language":["English"],"dc:subject":["java","optimization","dynamic anaylsis","offline","unit tests","programmer interaction"],"dc:title":["Programmer feedback and dynamic analysis to enable optimization in Java applications: the D.U.P.O. framework"],"thesis:degree_discipline":["Department of Computer Science"],"thesis:degree_level":["Thesis","Masters"],"thesis:degree_name":["Computer Science"]},"updated_at":"2026-07-24T05:26:07Z"}