Hill, James HaswellDu, MikeTuceryan, MihranRaje, Rajeev R.Fang, Shiaofen2016-09-132016-09-132016https://hdl.handle.net/1805/10906http://dx.doi.org/10.7912/C2/2330Indiana University-Purdue University Indianapolis (IUPUI)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-USPintoolDBIInstrumentationFrameworkRealtime Dynamic Binary InstrumentationThesis10.7912/C2M01D