Dynamic Taint Tracking using Partial Instrumentation for Java Applications
Manoj RameshChandra Thakur

TL;DR
This paper introduces a partial instrumentation approach for dynamic taint tracking in Java applications, significantly reducing runtime overhead by instrumenting only relevant methods within source and sink sets.
Contribution
It proposes a novel partial instrumentation technique at the method level, improving performance over complete instrumentation methods in dynamic taint tracking for Java.
Findings
Significant performance improvements over complete instrumentation.
Effective static analysis using PetaBlox and Datalog.
Successful application on Dacapo benchmarks.
Abstract
Dynamic taint tracking is the process of assigning label to variables in a program and then tracking the flow of the labels as the program executes. Dynamic taint tracking for java applications is achieved by instrumenting the application ie. adding parallel variable for each actual variable of the program and inserting additional bytecode instructions to track the flow of the parallel variables. In this paper we suggest partial instrumentation to achieve dynamic taint tracking with reasonable runtime overhead. Partial instrumentation involves instrumenting only parts of a java application, which are within the scope of a predefined source and sink set. Partial instrumentation is performed at the granularity level of a method. We use PetaBlox, a large-scale software analysis tool, which internally uses Datalog[3], to perform static analysis and infers all the methods within the scope of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Software Testing and Debugging Techniques
