Search Results
Search type | Search syntax |
---|---|
Tags | [tag] |
Exact | "words here" |
Author |
user:1234 user:me (yours) |
Score |
score:3 (3+) score:0 (none) |
Answers |
answers:3 (3+) answers:0 (none) isaccepted:yes hasaccepted:no inquestion:1234 |
Views | views:250 |
Code | code:"if (foo != bar)" |
Sections |
title:apples body:"apples oranges" |
URL | url:"*.example.com" |
Saves | in:saves |
Status |
closed:yes duplicate:no migrated:no wiki:no |
Types |
is:question is:answer |
Exclude |
-[tag] -apples |
For more details on advanced search visit our help page |
Questions about methods and techniques to prove correctness of programs.
3
votes
Convert C language code to problem specification by computing the invariant of a program
You can not reconstruct the specification from just the code.
For one thing, you don't know whether the code is correct or not. For another, there are multiple possible specifications that are all co …
1
vote
Can we quantify how close a partially correct programs is to being correct?
In principle it is possible to express this condition using something like Hoare logic, but it's not clear it will be very useful or practical to do so.
Consider a function $f$ in your program, with …
2
votes
Accepted
Model Checking: hardware vs software
The statespace explosion problem.
More specifically, software often uses unbounded loops, pointers into complex data structures on the heap, and dynamic allocation. Each of these can cause rapid sta …
2
votes
Modelling using propositions, syntax and standards
Generally you have:
Some boolean variables that collectively represent the current state, say $s,t,u$.
Some boolean variables that collectively represents the inputs, say $i,j,k$. For instance, you …
1
vote
"taintedness" vs. "taintness"
Which should you use? Neither. Personally, I think the words "taintness" and "taintedness" both look awkward. I would recommend rephrasing the sentence to avoid using either of those words. Inste …
4
votes
Where in the toolchain does formal specification come in?
Tests can be written based on either a formal spec or an informal spec.
Verification always requires a formal specification. Formal verification might be manual or automated, or some combination of …
2
votes
Accepted
Formally proving properties of fold function
"contents are equal" implies that their lengths are equal, so you don't need double induction. Instead, try single induction. A straightforward induction argument on the length of the list should su …
3
votes
Accepted
How to Specify the Behavior of Automata for Verification
It feels to me like this has already been explained before (1, 2). To prove that an automaton is correct, you first must define what correctness means to you. Usually that is done by writing a speci …
3
votes
Accepted
How to define the Atomic Propositions in Model Checking
Formal verification often involves at least three steps:
Make a formal model of the real-world system. (The formal model might be a state-transition graph or automaton, for example.)
Write down a …
2
votes
Accepted
Best way to translate while loops to functions for software verification
I recommend that you translate
while(c) b
to
def myWhile() = if (c) then (b ; myWhile())
myWhile()
With this translation, the precondition of myWhile is the loop invariant of the original while …
1
vote
How to check if DFA is actually a correct model of the intended system?
If you want a guarantee, then yes, verification is the only approach. That's pretty much the definition of what verification means.
If you want a heuristic check, there are a number of testing metho …
0
votes
Accepted
Linear encoding of a feed forward neural network
The idea is that $\delta_j^{(i)}=1$ means that the input to the ReLU was negative (so its output is zero), and $\delta_j^{(i)}=0$ means that the input to the ReLU was positive (so its output is positi …
0
votes
Accepted
Formally Verify if a Sequence of Regex-Based Modifications is Idempotent
This is likely to be a very hard problem, so hard that I don't think you should expect a useful solution that can handle all possible regexes.
The extended regular expressions supported by Python's re …
1
vote
Linear Time properties classification
As Wikipedia says,
not every property is a safety property or a liveness property (consider "a occurs exactly once")
The parenthetical gives an example of a property that is not a safety property, n …
32
votes
Accepted
Program Correctness, The specification
First off, you're absolutely right: you're on to a real concern. Formal verification transfers the problem of confidence in program correctness to the problem of confidence in specification correctne …