  In recent years, formal methods have been extensively used in the design of
autonomous systems. By employing mathematically rigorous techniques, formal
methods can provide fully automated reasoning processes with provable safety
guarantees for complex dynamic systems with intricate interactions between
continuous dynamics and discrete logics. This paper provides a comprehensive
review of formal controller synthesis techniques for safety-critical autonomous
systems. Specifically, we categorize the formal control synthesis problem based
on diverse system models, encompassing deterministic, non-deterministic, and
stochastic, and various formal safety-critical specifications involving logic,
real-time, and real-valued domains. The review covers fundamental formal
control synthesis techniques, including abstraction-based approaches and
abstraction-free methods. We explore the integration of data-driven synthesis
approaches in formal control synthesis. Furthermore, we review formal
techniques tailored for multi-agent systems (MAS), with a specific focus on
various approaches to address the scalability challenges in large-scale
systems. Finally, we discuss some recent trends and highlight research
challenges in this area.
