Dynamic program slicing can significantly reduce the amount of code developers need to inspect by focusing only on program statements relevant to their investigation. However, it is still short from production-level use both in terms of runtime efficiency and storage. We propose statistical program slicing, a novel hybrid dynamic-static slicing technique which explores the trade-offs between runtime overhead, accuracy, and storage costs. Our approach relies on modern hardware support for control-flow tracing and selective heap memory instrumentation distributed across multiple executions combined with static program analysis for data-flow tracking.