Satisfiability Modulo Theories (SMT)

Satisfiability modulo theories

SMT is a problem of determining whether a mathematical formula is satisfiable, generalizing the Boolean satisfiability problem. It is NP-hard and for many theories it is undecidable, but researchers study which theories lead to a decidable SMT problem. SMT solvers are tools used to solve the SMT problem for practical inputs and have been used in various applications.

3 courses cover this concept

CS 243: Program Analysis and Optimizations

Stanford University

Winter 2023

Focuses on efficient high-level programming through code optimization and program analysis for quality improvement. Also explores automatic memory management and natural language coding through machine learning.

No concepts data

+ 16 more concepts

CS 357 Advanced Topics in Formal Methods

Stanford University

Fall 2019

This course emphasizes SAT and SMT technology and its applications, offering an understanding of theoretical foundations and how to implement a small theory solver. Applications of SAT/SMT technology in the context of verification are also covered. The advanced topics and lack of specified prerequisites suggest this is a high-level course.

No concepts data

+ 20 more concepts

15-414 Bug Catching: Automated Program Verification

Carnegie Mellon University

Spring 2022

This course is about software verification, with the goal of writing bug-free code. Students will learn to formalize program correctness, write verified code, and use automated tools for verification. It explores the principles behind verification tools, logical specifications, and deductive reasoning. Previous knowledge in program correctness reasoning is beneficial.

No concepts data

+ 22 more concepts