GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing liquid-java.github.io — Verification Features Verification FeaturesThe Annotations section explains how to write specifications. This section explains how LiquidJava uses them when checking Java code, without running the program. At a check, the verifier gathers facts about the values in scope and asks an SMT solver whether those facts imply the required refinement. For example, knowing Variables and AssignmentsA local variable’s initializer must satisfy its declared refinement. Later assignments must satisfy that same refinement, even when the value changes. The verifier also tracks information from expressions and assignments. An unannotated local such as When a Check FailsA refinement error means the verifier could not establish the required predicate from the available facts. The code may violate the requirement, or the verifier may need a stronger parameter refinement, a branch condition, or a return contract to establish it. See Understanding Refinement Errors for interpreting the diagnostic and its counterexample. Method Calls and ReturnsLearn how parameter and return refinements connect a method's implementation to its callers. ConditionalsLearn how if and else conditions provide facts for refinement checks. RecursionLearn how LiquidJava checks recursive calls using parameter and return refinements. |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |