Persistent Link:
http://hdl.handle.net/10150/289028
Title:
Alto: A platform for object code modification
Author:
Muth, Robert Michael
Issue Date:
1999
Publisher:
The University of Arizona.
Rights:
Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
Abstract:
This dissertation describes Alto , a platform for object code modification for Digital Unix/Alpha executables. Object code modification, also called binary rewriting, allows us to change compiled and linked programs, thereby extending the process of code generation well past the compilation phase of a program. Object code modification is becoming increasingly important. One reason for this is the recent trend of making programs available as executables only--without the corresponding source code. We explain the difficulties encountered by object modification, especially in the area of program analysis, and show how they are dealt with in Alto. Several improvements to register liveness analysis are presented. Alto has been used to implement an optimizer which allows us to evaluate the benefits of classical compiler optimizations when applied to object code. This optimizer outperforms the vendor-supplied optimization tools significantly. Alto has also been used to instrument programs in order to generate sophisticated execution profiles, such as value profiles. We show how such profiles can be profitably exploited using a novel technique--guarded code specialization--and how this optimization can be incorporated into the optimizer. Finally, we consider the issue of code compression, i.e., using Alto to make programs smaller rather than to make them faster. A variety of transformations are presented which are able to reduce the code size of programs substantially.
Type:
text; Dissertation-Reproduction (electronic)
Keywords:
Computer Science.
Degree Name:
Ph.D.
Degree Level:
doctoral
Degree Program:
Graduate College; Computer Science
Degree Grantor:
University of Arizona
Advisor:
Debray, Saumya K.

Full metadata record

DC FieldValue Language
dc.language.isoen_USen_US
dc.titleAlto: A platform for object code modificationen_US
dc.creatorMuth, Robert Michaelen_US
dc.contributor.authorMuth, Robert Michaelen_US
dc.date.issued1999en_US
dc.publisherThe University of Arizona.en_US
dc.rightsCopyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.en_US
dc.description.abstractThis dissertation describes Alto , a platform for object code modification for Digital Unix/Alpha executables. Object code modification, also called binary rewriting, allows us to change compiled and linked programs, thereby extending the process of code generation well past the compilation phase of a program. Object code modification is becoming increasingly important. One reason for this is the recent trend of making programs available as executables only--without the corresponding source code. We explain the difficulties encountered by object modification, especially in the area of program analysis, and show how they are dealt with in Alto. Several improvements to register liveness analysis are presented. Alto has been used to implement an optimizer which allows us to evaluate the benefits of classical compiler optimizations when applied to object code. This optimizer outperforms the vendor-supplied optimization tools significantly. Alto has also been used to instrument programs in order to generate sophisticated execution profiles, such as value profiles. We show how such profiles can be profitably exploited using a novel technique--guarded code specialization--and how this optimization can be incorporated into the optimizer. Finally, we consider the issue of code compression, i.e., using Alto to make programs smaller rather than to make them faster. A variety of transformations are presented which are able to reduce the code size of programs substantially.en_US
dc.typetexten_US
dc.typeDissertation-Reproduction (electronic)en_US
dc.subjectComputer Science.en_US
thesis.degree.namePh.D.en_US
thesis.degree.leveldoctoralen_US
thesis.degree.disciplineGraduate Collegeen_US
thesis.degree.disciplineComputer Scienceen_US
thesis.degree.grantorUniversity of Arizonaen_US
dc.contributor.advisorDebray, Saumya K.en_US
dc.identifier.proquest9946835en_US
dc.identifier.bibrecord.b3991706xen_US
All Items in UA Campus Repository are protected by copyright, with all rights reserved, unless otherwise indicated.