Formal methods for safe autonomy: Data-driven verification, synthesis, and applications