Realtime Dynamic Binary Instrumentation
dc.contributor.advisor | Hill, James Haswell | |
dc.contributor.author | Du, Mike | |
dc.contributor.other | Tuceryan, Mihran | |
dc.contributor.other | Raje, Rajeev R. | |
dc.contributor.other | Fang, Shiaofen | |
dc.date.accessioned | 2016-09-13T17:49:07Z | |
dc.date.available | 2016-09-13T17:49:07Z | |
dc.date.issued | 2016 | |
dc.degree.date | 2016 | en_US |
dc.degree.grantor | Purdue University | en_US |
dc.degree.level | M.S. | en_US |
dc.description | Indiana University-Purdue University Indianapolis (IUPUI) | en_US |
dc.description.abstract | This thesis presents a novel technique and framework for decreasing instrumenta- tion overhead in software systems that utilize dynamic binary instrumentation. First, we introduce a lightweight networking framework combined with an easily extensible BSON implementation as a heavy analysis routine replacement. Secondly, we bind instrumentation and analysis threads to non-overlapping cpu cores--allowing analysis threads to execute faster. Lastly, we utilize a lock-free buffering system to bridge the gap between instrumentation and analysis threads, and minimize the overhead to the instrumentation threads. Using this combination, we managed to write a dynamic binary instrumentation tool (DBI) in Pin using Pin++ that is almost 1100 % faster than its counterpart DBI tool with no buffering, and less than 500% slower than a similar tool with no analysis routine. | en_US |
dc.identifier.doi | 10.7912/C2M01D | |
dc.identifier.uri | https://hdl.handle.net/1805/10906 | |
dc.identifier.uri | http://dx.doi.org/10.7912/C2/2330 | |
dc.language.iso | en_US | en_US |
dc.subject | Pintool | en_US |
dc.subject | DBI | en_US |
dc.subject | Instrumentation | en_US |
dc.subject | Framework | en_US |
dc.title | Realtime Dynamic Binary Instrumentation | en_US |
dc.type | Thesis | en |
thesis.degree.discipline | Computer & Information Science | en |
thesis.degree.grantor | Purdue University | en |