{"@context":"http://iiif.io/api/presentation/2/context.json","@id":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/manifest.json","@type":"sc:Manifest","label":"Implementing Tracecuts in the InterAspect Program Instrumentation Framework","metadata":[{"label":"dc.description.sponsorship","value":"This work is sponsored by the Stony Brook University Graduate School in compliance with the requirements for completion of degree."},{"label":"dc.format","value":"Monograph"},{"label":"dc.format.medium","value":"Electronic Resource"},{"label":"dc.identifier.uri","value":"http://hdl.handle.net/11401/70977"},{"label":"dc.language.iso","value":"en_US"},{"label":"dc.publisher","value":"The Graduate School, Stony Brook University: Stony Brook, NY."},{"label":"dcterms.abstract","value":"As software grows in complexity, there is a need to check theruntime behavior of programs for potentially hazardous runtimestates, and take the appropriate action. The tracecut mechanism,which allows one to match sequences of runtime events against aproperty specification given as a regular expression, providesus with this functionality.In this thesis, we show how tracecut functionality can be appliedto C programs by making use of InterAspect, an aspect-orientedinstrumentation framework. InterAspect is a GCC compiler plug-inthat performs runtime instrumentation at the GIMPLE level, GCC'sintermediate representation. Our approach interprets a tracecutspecification given as a regular expression as a finite state machine,and generates the code needed to perform the state machine transitions.The utility of our approach is illustrated by two case studies, oneinvolving a tracecut for a simple data-source iterator, and the otherinvolving a tracecut specification of file open-close behavior. Thelatter tracecut is applied to the bzip2 file compression utility"},{"label":"dcterms.available","value":"2012-05-15T18:02:58Z"},{"label":"dcterms.contributor","value":"Smolka, Scott A."},{"label":"dcterms.creator","value":"Dixit, Ketan"},{"label":"dcterms.dateAccepted","value":"2012-05-15T18:02:58Z"},{"label":"dcterms.dateSubmitted","value":"2012-05-15T18:02:58Z"},{"label":"dcterms.description","value":"Department of Computer Science"},{"label":"dcterms.format","value":"Monograph"},{"label":"dcterms.identifier","value":"http://hdl.handle.net/1951/55410"},{"label":"dcterms.issued","value":"2010-12-01"},{"label":"dcterms.language","value":"en_US"},{"label":"dcterms.provenance","value":"Made available in DSpace on 2015-04-24T14:45:23Z (GMT). No. of bitstreams: 3\nDixit_grad.sunysb_0771M_10408.pdf.jpg: 1894 bytes, checksum: a6009c46e6ec8251b348085684cba80d (MD5)\nDixit_grad.sunysb_0771M_10408.pdf.txt: 37742 bytes, checksum: ca7fd8caa34dde2bab0f2ac5e6bc1f8b (MD5)\nDixit_grad.sunysb_0771M_10408.pdf: 175538 bytes, checksum: b2ef92d254d1172a747de313625f544c (MD5)\n Previous issue date: 1"},{"label":"dcterms.publisher","value":"The Graduate School, Stony Brook University: Stony Brook, NY."},{"label":"dcterms.subject","value":"Computer Science"},{"label":"dcterms.title","value":"Implementing Tracecuts in the InterAspect Program Instrumentation Framework"},{"label":"dcterms.type","value":"Thesis"},{"label":"dc.type","value":"Thesis"}],"description":"This manifest was generated dynamically","viewingDirection":"left-to-right","sequences":[{"@type":"sc:Sequence","canvases":[{"@id":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/canvas/page-1.json","@type":"sc:Canvas","label":"Page 1","height":1650,"width":1275,"images":[{"@type":"oa:Annotation","motivation":"sc:painting","resource":{"@id":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/16%2F62%2F63%2F166263442956172188489673996723219972080/full/full/0/default.jpg","@type":"dctypes:Image","format":"image/jpeg","height":1650,"width":1275,"service":{"@context":"http://iiif.io/api/image/2/context.json","@id":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/16%2F62%2F63%2F166263442956172188489673996723219972080","profile":"http://iiif.io/api/image/2/level2.json"}},"on":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/canvas/page-1.json"}]}]}]}