Show simple item record

dc.contributor.advisorSekar, Ram C.en_US
dc.contributor.authorMisra, Ashish Chandrabhushanen_US
dc.contributor.otherDepartment of Computer Scienceen_US
dc.date.accessioned2012-05-15T18:05:09Z
dc.date.available2012-05-15T18:05:09Z
dc.date.issued1-May-10en_US
dc.date.submittedMay-10en_US
dc.identifierMisra_grad.sunysb_0771M_10143.pdfen_US
dc.identifier.urihttp://hdl.handle.net/1951/55552
dc.description.abstractMemory-related errors such as buffer overflows and dangling pointers remain oneof the principle reasons for the failure of C programs. Such failures do notalways manifest as program crashes but also as incorrect outputs. Well-testedprograms do run error free in most cases, but studies have shown thateven such programs can crash when presented with unexpected data. Out of boundsarray and pointer accesses are an important subclass of memory-related errors.Despite many years of research in bounds-checking, current solutions aremostly deployed as debugging and testing aids. This is because the currenttechniques for bounds protection are either too performance intensive to be usedin production software or are unable to process all valid C programs. Hence, in this thesis, we present a backwards compatible lightweight boundschecking technique that aims to provide practical protection to Cprograms that can be deployed in production software. Our technique involvesflanking memory objects with guard zones. We generate instrumentation tocheck that memory references do not access these guard zones. We are ableto avoid some of the compatibility problems associated with previousbounds-checking techniques by avoiding pointer arithmetic checks, andinstead relying on checks on the values of dereferenced pointers.To obtain good performance, we partition these runtimechecks into two parts. The first part is always performed, and is veryfast because it does not introduce additional memory dereferences. Themore expensive second part is triggered only if the first check succeeds,which is relatively rare. We present an efficient implementation of ourtechnique. Our results show that the technique has a relatively low overheadin CPU intensive benchmarks. Furthermore, by instrumenting real worldapplications, we prove the practical utility of our approach.en_US
dc.description.sponsorshipStony Brook University Libraries. SBU Graduate School in Department of Computer Science. Lawrence Martin (Dean of Graduate School).en_US
dc.formatElectronic Resourceen_US
dc.language.isoen_USen_US
dc.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.en_US
dc.subject.lcshComputer Scienceen_US
dc.subject.otherBounds Checkingen_US
dc.titleLight-weight Bounds Checkingen_US
dc.typeThesisen_US
dc.description.advisorAdvisor(s): Ram C. Sekar. Committee Member(s): C R. Ramakrishnan; Robert Johnson.en_US
dc.mimetypeApplication/PDFen_US


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record