Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What do you mean by model?


A formal model of how the software is supposed to behave. Models can be proven to have certain properties (e.g. deadlock-free, cruise control always turns off when brake is hit), while with software you're usually limited to testing. A proof guarantees that the software works for all possible inputs, whereas when testing only some inputs are tried.

To model individual processes, one could use automata, for interaction of processes there are process calculi.

http://en.wikipedia.org/wiki/Formal_methods


Compilers that are verified/validated (in some sense):

http://compcert.inria.fr/compcert-C.html

http://www.cs.utah.edu/~regehr/papers/

http://lambda-the-ultimate.org/node/4571

-------------

The "Related Work" section in this UVa dissert probably most closely answere your question

http://www.cs.virginia.edu/~jck/publications/Xiang.Yin.disse...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: