|
How do we get Inductive Invariants?
Verifying the correctness of loop-free programs (or of general programs, up to bounded depth) is difficult: the state space explodes exponentially as the depth increases.
Yet, the difficulty increases as we allow unboundedly many execution steps; proof approaches then generally rely on finding inductive invariants (properties shown to hold initially, then to remain true by induction). Abstract interpretation attempts finding inductive invariants within a given domain, e.g. conjunctions of linear inequalities. The classical approach iterates a transformer until the property becomes inductive. In general, this approach may not terminate; thus termination is often enforced with a “widening” operator, which attempts at generalizing the iterates into an inductive property. Unfortunately, widening operators are brittle, with non-monotonic behaviors (supplying more information about a system may result in worse analysis outcomes!). Therefore, other approaches have been developed (policy iteration,…), which avoid this pitfall. Finally, we shall discuss possible combinations of abstract interpretation and SMT-solving. |
videoA videoB |
|
Hardware Model Checking
|
videoA videoB |
| CARVIEW |
Select Language
HTTP/2 301
x-pingback: https://i-cav.org/2014/xmlrpc.php
x-redirect-by: WordPress
location: https://i-cav.org/2014/invited-talks-tutorials/
vary: Accept-Encoding
content-length: 0
content-type: text/html; charset=UTF-8
date: Wed, 14 Jan 2026 10:59:43 GMT
server: Apache
HTTP/2 200
x-pingback: https://i-cav.org/2014/xmlrpc.php
link: ; rel="https://api.w.org/", ; rel="alternate"; type="application/json", ; rel=shortlink
vary: Accept-Encoding
content-encoding: gzip
content-length: 5608
content-type: text/html; charset=UTF-8
date: Wed, 14 Jan 2026 10:59:43 GMT
server: Apache
Tutorials | CAV 2014