20 May 2024 | Haoze Wu, Omri Isac, Aleksandar Zeljić, Teruhiro Tagomori, Matthew Daggitt, Wen Kokke, Idan Refaeli, Guy Amir, Kyle Julian, Shahaf Bassan, Pei Huang, Ori Lahav, Min Wu, Min Zhang, Ekaterina Komendantskaya, Guy Katz, and Clark Barrett
Marabou 2.0 is a versatile formal analyzer for neural networks, offering enhanced capabilities over its predecessor. It features a new build/test system, an optimized core architecture, improved decision procedures, support for a wider range of activation functions, proof production, additional input formats, and a more powerful Python API. These improvements make the original system description inaccurate, necessitating a comprehensive update. The system architecture includes an Engine with components like the Preprocessor, Network-level Reasoner, SMT Solver, and (MI)LP Interface. The Network-level Reasoner supports various analyses, including interval bound propagation, DeepPoly/CROWN, and LP-based bound tightening. The (MI)LP Interface allows integration with external solvers like Gurobi. The system also includes a Proof Module for generating proof certificates and a Python API for defining verification queries. Marabou 2.0 is available under a permissive license and supports multiple input formats. It has been applied to various tasks, including verifying the Decima job scheduler, formal XAI, analyzing learning-based robotic systems, and verifying robustness against semantic perturbations. The system has shown significant performance improvements, with faster runtime and lower memory usage compared to earlier versions. Marabou 2.0 is also being integrated with CDCL mechanisms and supports incremental solving. Future developments include GPU support and handling other non-linear constraints. The tool is actively used in the formal verification of neural networks and has been applied to a wide range of applications, demonstrating its versatility and effectiveness in formal analysis tasks.Marabou 2.0 is a versatile formal analyzer for neural networks, offering enhanced capabilities over its predecessor. It features a new build/test system, an optimized core architecture, improved decision procedures, support for a wider range of activation functions, proof production, additional input formats, and a more powerful Python API. These improvements make the original system description inaccurate, necessitating a comprehensive update. The system architecture includes an Engine with components like the Preprocessor, Network-level Reasoner, SMT Solver, and (MI)LP Interface. The Network-level Reasoner supports various analyses, including interval bound propagation, DeepPoly/CROWN, and LP-based bound tightening. The (MI)LP Interface allows integration with external solvers like Gurobi. The system also includes a Proof Module for generating proof certificates and a Python API for defining verification queries. Marabou 2.0 is available under a permissive license and supports multiple input formats. It has been applied to various tasks, including verifying the Decima job scheduler, formal XAI, analyzing learning-based robotic systems, and verifying robustness against semantic perturbations. The system has shown significant performance improvements, with faster runtime and lower memory usage compared to earlier versions. Marabou 2.0 is also being integrated with CDCL mechanisms and supports incremental solving. Future developments include GPU support and handling other non-linear constraints. The tool is actively used in the formal verification of neural networks and has been applied to a wide range of applications, demonstrating its versatility and effectiveness in formal analysis tasks.