π€ AI Summary
This study investigates the root causes of low adoption rates for verification-aware (VA) programming languages, focusing on real-world developer barriers. Using a mixed-methods approach, we first applied topic modeling to textual data from developer forums (e.g., Stack Overflow) to identify recurring pain points; we then designed and deployed a structured survey to empirically validate and enrich these findings. This work presents the first systematic integration of text mining and developer surveys in the VA language domain. Results reveal four primary usability bottlenecks: steep learning curves, poor toolchain usability, weak IDE integration, and insufficient pedagogical resources. Based on these findings, we propose three actionable improvements: (1) simplifying the user interface of verification tools, (2) developing a progressive, example-driven tutorial repository, and (3) enhancing in-editor support for formal contracts. The study provides empirical evidence and concrete design guidelines to improve the practicality and industrial adoption of VA languages.
π Abstract
Software reliability is critical in ensuring that the digital systems we depend on function correctly. In software development, increasing software reliability often involves testing. However, for complex and critical systems, developers can use Design by Contract (DbC) methods to define precise specifications that software components must satisfy. Verification-Aware (VA) programming languages support DbC and formal verification at compile-time or run-time, offering stronger correctness guarantees than traditional testing. However, despite the strong guarantees provided by VA languages, their adoption remains limited. In this study, we investigate the barriers to adopting VA languages by analyzing developer discussions on public forums using topic modeling techniques. We complement this analysis with a developer survey to better understand the practical challenges associated with VA languages. Our findings reveal key obstacles to adoption, including steep learning curves and usability issues. Based on these insights, we identify actionable recommendations to improve the usability and accessibility of VA languages. Our findings suggest that simplifying tool interfaces, providing better educational materials, and improving integration with everyday development environments could improve the usability and adoption of these languages. Our work provides actionable insights for improving the usability of VA languages and making verification tools more accessible.