Formal Methods: From Academia to Industrial Practice. A Travel Guide
Marieke Huisman, Dilian Gurov, and Alexander Malkis

TL;DR
This paper examines the persistent gap between formal methods research and industrial software practice, analyzing reasons for the disconnect and proposing human-centric strategies for better adoption and impact.
Contribution
It offers a comprehensive analysis of why formal methods have not yet been widely adopted in industry and provides recommendations focusing on human factors and collaboration to bridge this gap.
Findings
Formal methods tools are technically mature and capable of solving complex problems.
The gap persists due to human, organizational, and cultural factors.
Collaborative approaches and changing stakeholder mindsets are key to adoption.
Abstract
For many decades, formal methods are considered to be the way forward to help the software industry to make more reliable and trustworthy software. However, despite this strong belief and many individual success stories, no real change in industrial software development seems to be occurring. In fact, the software industry itself is moving forward rapidly, and the gap between what formal methods can achieve and the daily software-development practice does not appear to be getting smaller (and might even be growing). In the past, many recommendations have already been made on how to develop formal-methods research in order to close this gap. This paper investigates why the gap nevertheless still exists and provides its own recommendations on what can be done by the formal-methods-research community to bridge it. Our recommendations do not focus on open research questions. In fact,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Software Engineering Methodologies · Software Testing and Debugging Techniques
