Incorporating domain-specific information into the compilation process

dc.contributor.advisorLin, Yun Calvinen
dc.creatorGuyer, Samuel Zeven
dc.date.accessioned2011-06-29T19:59:05Zen
dc.date.available2011-06-29T19:59:05Zen
dc.date.issued2003-05en
dc.descriptiontexten
dc.description.abstractDespite many advances in compiler research, traditional compilers continue to suffer from one significant limitation: they only recognize the low-level primitive constructs of their languages. In contrast, programmers increasingly benefit from higher level software components, which implement a variety of specialized domains—everything from basic file access to 3D graphics and parallel programming. The result is a marked difference between the level of abstraction in software development and the level of abstraction in compilation. In this thesis we present the Broadway compiler, which closes this gap. Broadway represents a new kind of compiler, called a library-level compiler, that supports domainspecific compilation by extending the benefits of compiler support to software libraries. The key to our approach is a separate annotation language that conveys domain-specific information about libraries to our compiler, allowing it to treat library routines more like built-in language operations. Using this information, the compiler can perform library-level program analysis and apply library-level optimizations. We explore both the opportunities and challenges presented by library-level compilation. We show that library-level optimizations can increase the performance of several parallel programs written using a highly-tuned parallel linear algebra library. These highlevel optimizations are beyond the capabilities of a traditional compiler and even rival the performance of programs hand-coded by an expert. We also show that our compiler is an effective tool for detecting a range of library-level errors, including several significant security vulnerabilities. Finally, we present a new client-driven pointer analysis algorithm, which provides precise and scalable program analysis to meet the demanding requirements of library-level compilation.
dc.description.departmentComputer Sciencesen
dc.format.mediumelectronicen
dc.identifier.urihttp://hdl.handle.net/2152/11982en
dc.language.isoengen
dc.rightsCopyright is held by the author. Presentation of this material on the Libraries' web site by University Libraries, The University of Texas at Austin was made possible under a limited license grant from the author who has retained all copyrights in the works.en
dc.rights.restrictionRestricteden
dc.subjectCompilers (Computer programs)en
dc.subjectProgramming languages (Electronic computers)en
dc.titleIncorporating domain-specific information into the compilation processen
thesis.degree.departmentComputer Sciencesen
thesis.degree.disciplineComputer Sciencesen
thesis.degree.grantorThe University of Texas at Austinen
thesis.degree.levelDoctoralen
thesis.degree.nameDoctor of Philosophyen

Access full-text files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
guyersz032.pdf
Size:
765.39 KB
Format:
Adobe Portable Document Format
Description:
Restricted to EID users

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.66 KB
Format:
Item-specific license agreed upon to submission
Description: