CIS Homeline
   
arrow About CIS
spacer spacer
arrow Events
  CIS events in Penn Calendar
spacer spacer
arrow People
spacer spacer
arrow Research
spacer spacer
arrow Undergraduate program
spacer spacer
arrow Graduate program
spacer spacer
arrow Job Openings
   

 

CIS Home divider Penn Engineering divider PENN   spacer  

 
 CIS Research Seminar Series, 2008 

 

Thursday, September 11, 2008


Milo Martin

Computer Science Department

University of Pennsylvania


" HardBound: Architectural Support for Spatial Safety of

the C Programming Language "


Abstract

The C programming language is at least as well known for its absence of spatial memory safety guarantees (i.e., lack of bounds checking) as it is for its high performance. C's unchecked pointer arithmetic and array indexing allow simple programming mistakes to lead to erroneous executions, silent data corruption, andsecurity vulnerabilities. Many prior proposals have tackled enforcing spatial safety in C programs by checkingpointer and array accesses. However, existing software-only proposals have significant drawbacks that may prevent wide adoption, including: unacceptably high runtime overheads, lack of completeness, incompatible pointer representations, or need for non-trivial changes to existing C source code and compiler infrastructure.

 

Inspired by the promise of these software-only approaches, this paper proposes a hardware bounded pointer architectural primitive that supports cooperative hardware/software enforcement of spatial memory safety for C programs. This bounded pointer is a new hardware primitive datatype for pointers that leaves the standard C pointer representation intact, but augments it with bounds information maintained separately and invisibly by the hardware. The bounds are initialized by the software, and they are then propagated and enforced transparently by the hardware, which automatically checks a pointer's bounds before it is dereferenced. One mode of use requires instrumenting only malloc(), which enables enforcement of per-allocation spatial

safety for heap-allocated objects for existing binaries. When combined with simple intra-procedural compiler instrumentation, hardware bounded pointers enable a low-overhead approach for enforcing complete spatial memory safety in unmodified C programs.

 

This is joint work with Joe Devietti, Colin Blundell, and Steve Zdancewic.

 

Thursday, September 11,2008
3:00 - 4:15
Wu & Chen
101 Levine Hall


_____________________________________________________________________________________________________

 

Archived Lectures

2007

2006

Speakers prior to

2006

 




 
 
CIS Home divider Penn Engineering divider PENN   spacer
  Send comments on this page to