Show simple item record

dc.identifier.urihttp://hdl.handle.net/1951/55552
dc.identifier.urihttp://hdl.handle.net/11401/72600
dc.description.sponsorshipThis work is sponsored by the Stony Brook University Graduate School in compliance with the requirements for completion of degree.en_US
dc.formatMonograph
dc.format.mediumElectronic Resourceen_US
dc.language.isoen_US
dc.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dc.typeThesis
dcterms.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.
dcterms.available2012-05-15T18:05:09Z
dcterms.available2015-04-24T14:52:48Z
dcterms.contributorSekar, Ram C.en_US
dcterms.contributorC R. Ramakrishnanen_US
dcterms.contributorRobert Johnson.en_US
dcterms.creatorMisra, Ashish Chandrabhushan
dcterms.dateAccepted2012-05-15T18:05:09Z
dcterms.dateAccepted2015-04-24T14:52:48Z
dcterms.dateSubmitted2012-05-15T18:05:09Z
dcterms.dateSubmitted2015-04-24T14:52:48Z
dcterms.descriptionDepartment of Computer Scienceen_US
dcterms.formatMonograph
dcterms.formatApplication/PDFen_US
dcterms.identifierMisra_grad.sunysb_0771M_10143.pdfen_US
dcterms.identifierhttp://hdl.handle.net/1951/55552
dcterms.identifierhttp://hdl.handle.net/11401/72600
dcterms.issued2010-05-01
dcterms.languageen_US
dcterms.provenanceMade available in DSpace on 2012-05-15T18:05:09Z (GMT). No. of bitstreams: 1 Misra_grad.sunysb_0771M_10143.pdf: 261004 bytes, checksum: 9f350ca06598d67e72eb75496b8b0784 (MD5) Previous issue date: 1en
dcterms.provenanceMade available in DSpace on 2015-04-24T14:52:48Z (GMT). No. of bitstreams: 4 Misra_grad.sunysb_0771M_10143.pdf.jpg: 1894 bytes, checksum: a6009c46e6ec8251b348085684cba80d (MD5) Misra_grad.sunysb_0771M_10143.pdf.txt: 66124 bytes, checksum: 46407da4d90649090364f4b4963880a7 (MD5) Misra_grad.sunysb_0771M_10143.pdf: 261004 bytes, checksum: 9f350ca06598d67e72eb75496b8b0784 (MD5) Ashish_thesis_defense.pptx: 183847 bytes, checksum: 2024046d69db110ba3df9c6e0a0a93e6 (MD5) Previous issue date: 1en
dcterms.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dcterms.subjectBounds Checking
dcterms.subjectComputer Science
dcterms.titleLight-weight Bounds Checking
dcterms.typeThesis


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record