skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · events · colloquia · 2003-2004 · 

Colloquium - Guyer


Using the Broadway Compiler for Accurate and Efficient Error Detection
University of Texas at Austin

Despite 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.

Samuel Guyer photo

In this talk I present an overview of Broadway, a new kind of compiler that supports domain-specific 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 perform library-level program analysis and apply library-level optimizations.

Our recent work focuses on using Broadway to detect library-level programming errors, including unsafe and insecure uses of library routines. In this context we use the annotation language to specify safety properties that users of the library interface must satisfy. A significant challenge in checking these properties is the scalability of the underlying program analysis. We address this challenge using our new client-driven pointer analysis algorithm, which automatically adjusts its precision to match the needs of the particular program and error detection problem. We show that our compiler is an effective tool for detecting a range of library-level errors, including several real-world security vulnerabilities.

Hosted by Amer Diwan.

The Department holds colloquia throughout the Fall and Spring semesters. These colloquia, open to the public, are typically held on Thursday afternoons, but sometimes occur at other times as well. If you would like to receive email notification of upcoming colloquia, subscribe to our Colloquia Mailing List. If you would like to schedule a colloquium, see Colloquium Scheduling.

Sign language interpreters are available upon request. Please contact Stephanie Morris at least five days prior to the colloquium.

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (13:29)