Automatic Reasoning Techniques for Non-Serializable Data-Intensive Applications