Affiliation:
1. Northeastern University, Boston, MA, United States
Abstract
Dynamic taint tracking, a technique that traces relationships between values as a program executes, has been used to support a variety of software engineering tasks. Some taint tracking systems only consider data flows and ignore control flows. As a result, relationships between some values are not reflected by the analysis. Many applications of taint tracking either benefit from or rely on these relationships being traced, but past works have found that tracking control flows resulted in over-tainting, dramatically reducing the precision of the taint tracking system. In this article, we introduce
Conflux
, alternative semantics for propagating taint tags along control flows.
Conflux
aims to reduce over-tainting by decreasing the scope of control flows and providing a heuristic for reducing loop-related over-tainting. We created a Java implementation of
Conflux
and performed a case study exploring the effect of
Conflux
on a concrete application of taint tracking, automated debugging. In addition to this case study, we evaluated
Conflux
’s accuracy using a novel benchmark consisting of popular, real-world programs. We compared
Conflux
against existing taint propagation policies, including a state-of-the-art approach for reducing control-flow-related over-tainting, finding that
Conflux
had the highest F1 score on 43 out of the 48 total tests.
Publisher
Association for Computing Machinery (ACM)
Reference76 articles.
1. Dynamic program slicing
2. Apache Commons Codec (version 1.14);Foundation Apache Software;Retrieved from http://commons.apache.org/proper/commons-codec/,2019
3. Apache Commons Text (version 1.8);Foundation Apache Software;Retrieved from https://commons.apache.org/proper/commons-text/,2019
4. Apache Tomcat (version 9.0.19);Foundation Apache Software;Retrieved from https://tomcat.apache.org,2019
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Hypertesting of Programs: Theoretical Foundation and Automated Test Generation;Proceedings of the IEEE/ACM 46th International Conference on Software Engineering;2024-04-12
2. ViaLin: Path-Aware Dynamic Taint Analysis for Android;Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2023-11-30
3. Pervasive Micro Information Flow Tracking;IEEE Transactions on Dependable and Secure Computing;2023-11
4. TaintSE: Dynamic Taint Analysis Combined with Symbolic Execution and Constraint Association;2023 IEEE 14th International Conference on Software Engineering and Service Science (ICSESS);2023-10-17
5. Reducing the Memory Footprint of IFDS-Based Data-Flow Analyses using Fine-Grained Garbage Collection;Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis;2023-07-12