Scaling Formal Verification: Parallel Analysis of Functions
- Mentors
- Matthias Kettl
- Organization
- Software and Computational Systems Lab at LMU Munich
- Technologies
- c, java, CPA-Checker
- Topics
- performance, formal methods, parallelism, SMT
Formal methods have been known to be useful for verifying critical software. However, one of the main factors keeping tools such as CPA-Checker from being more widely adopted in industry is the prohibitive amount of time it takes to verify complex programs. We wish to address this by making CPAChecker scalable via divide-and-conquer and parallelization. We want to come up with a mechanical approach for decomposing verification tasks into subtasks that can verified individually. As soon as one subtask finds a violation, we abort the rest and return the violation.