Researchers at the University of Manchester Proposes ESBMC-Python: The First BMC-based Python-code Verifier for Formal Verification of Python Programs

Researchers at the University of Manchester Proposes ESBMC-Python: The First BMC-based Python-code Verifier for Formal Verification of Python Programs

ESBMC-Python: The First BMC-based Python-code Verifier

Practical Solutions and Value

Formal verification is crucial in software engineering to ensure program correctness through mathematical proof. One widely used technique for this purpose is bounded model checking (BMC), which involves verifying the correctness of a program within specified bounds.

Python, a programming language favored for its simplicity and extensive libraries, presents unique challenges for formal verification due to its dynamic nature and lack of explicit type information.

ESBMC-Python is a novel tool designed to verify Python programs by converting them into abstract syntax trees (ASTs) and then using the efficient SMT-based bounded model checker framework to formally verify Python code.

The tool’s performance was evaluated using a benchmark suite comprising 85 Python programs, showing impressive verification times and memory usage, indicating its efficiency in handling large codebases and extensive program sets.

ESBMC-Python’s standout achievement was its ability to identify a critical division-by-zero error in the Ethereum consensus specification, underscoring its practical utility and effectiveness in real-world applications.

ESBMC-Python ensures the safety and correctness of Python programs, providing a valuable benchmark for future verification tools and plans to extend its capabilities by including more features and enhancing the type inference algorithm to handle complex program flows.

List of Useful Links:

AI Products for Business or Try Custom Development

AI Sales Bot

Welcome AI Sales Bot, your 24/7 teammate! Engaging customers in natural language across all channels and learning from your materials, it’s a step towards efficient, enriched customer interactions and sales

AI Document Assistant

Unlock insights and drive decisions with our AI Insights Suite. Indexing your documents and data, it provides smart, AI-driven decision support, enhancing your productivity and decision-making.

AI Customer Support

Upgrade your support with our AI Assistant, reducing response times and personalizing interactions by analyzing documents and past engagements. Boost your team and customer satisfaction

AI Scrum Bot

Enhance agile management with our AI Scrum Bot, it helps to organize retrospectives. It answers queries and boosts collaboration and efficiency in your scrum processes.