1. Introduction
2. Background
2.1. Design Choice
2.2. A Conceptual System Overview
2.3. Provenance Representation
3. Categorization and Comparative Analysis of Existing Approaches
3.1. Provenance Collection Schemes
3.2. Provenance Management Schemes
3.3. Provenance Analysis Schemes
4. Provenance in IoT Devices
5. Security of Provenance Systems
6. Future Directions
6.1. Noise Reduction in Kernel Level Graphs
6.2. Online Data Reduction
6.3. Leveraging Machine Learning into Provenance Analysis Techniques
7. Conclusion