Skip to main content
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
Results tagged with
Search options answers only not deleted user 755

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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k
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 …
D.W.'s user avatar
  • 166k

15 30 50 per page