The significance of Model Checking in Tau ===== >In the first step, a program verification problem is reduced to a problem of recursion scheme model checking. In the second step, the problem of recursion scheme model checking is solved by reduction to a type checking problem. Thus, our verification method can be considered an integration of two main previous approaches to program verification: model checking and type systems. Model Checking Higher-Order Programs is the title of a [paper released](http://www.kb.ecei.tohoku.ac.jp/~koba/papers/hmc.pdf) relatively recently by Naoki Kobayashi Tohoku University. This particular paper may have influence a design decision in Tauchain which in particular was a switch from Martin Lof Type Theory to Monadic Second Order Logic. In the paper it was discovered that you can do program verification (a method of formal verification) by reducing the problem into a model checking problem for recursion schemes. A program is transformed into a recursion scheme which generates a tree representing all the interesting possible event sequences of the program. In essence the paper reveals the possibility of a recursion scheme model checker. Trees are interesting indeed ===== > Type-based program analysis. Type systems have been a popular technique for program analysis and verification [Palsberg 2001]. Various type systems for the resource usage verification problem considered in Section 3.1 or its variants have been proposed [Igarashi and Kobayashi 2005; Foster et al. 2002; DeLine and F¨ahndrich 2001; Iwama et al. 2006]. Unlike our method based on higher-order model checking, those type systems are not complete, and some of them [DeLine and F¨ahndrich 2001] require type annotations. >Connections between types and tree automata have been studied in the context of languages for XML processing [Hosoya et al. 2005; Benzaken et al. 2003]. They deal with finite trees, while our type system deals with infinite trees. Type annotations for recursive functions are required in their languages. https://youtu.be/BEz-vGJvaik Trees have very interesting behavior and MSOL is particularly interesting over trees. MSOL is Monadic Second Order Logic which has greater expressivity over First Order Logic or Zeroth Order Logic such as predictable or propositional logic. Type theory is an extension of Second Order Logic just as Second Order Logic is an extension to First Order Logic in that it improves expressivity. Martin Lof Type Theory relies on dependent types which produces decidability through type checking. Conclusion ===== The approach by Naoki Kobayashi is somewhat new and promising. To have these abilities in Tau would greatly increase the security of the code which runs on Tauchain while possibly reducing the burden on the programmer. Because this is a new approach and the papers are relatively recent there is a lot about the capabilities that remain unknown both for Tauchain and for this approach. The developer of Tauchain Ohad Asor promises to release a whitepaper in the near future to finalize his design decisions and to reveal the initial roadmap which will likely be influenced by or based on the work of Kobayashi. **For security protocols, in any finite state system you can apply a model checker to verify the correctness properties.** References 1. https://en.wikipedia.org/wiki/Type_system 2. https://en.wikipedia.org/wiki/Model_checking 3. https://en.wikipedia.org/wiki/First-order_logic 4. https://en.wikipedia.org/wiki/Second-order_logic 5. http://www-kb.is.s.u-tokyo.ac.jp/~koba/ 6. https://hal-enpc.archives-ouvertes.fr/hal-00479818/document
author | dana-edwards |
---|---|
permlink | model-checking-higher-order-programs-and-the-implications |
category | tauchain |
json_metadata | {"tags":["tauchain","cybersecurity"],"image":["https://img.youtube.com/vi/BEz-vGJvaik/0.jpg"],"links":["http://www.kb.ecei.tohoku.ac.jp/~koba/papers/hmc.pdf","https://youtu.be/BEz-vGJvaik","https://en.wikipedia.org/wiki/Type_system","https://en.wikipedia.org/wiki/Model_checking","https://en.wikipedia.org/wiki/First-order_logic","https://en.wikipedia.org/wiki/Second-order_logic","http://www-kb.is.s.u-tokyo.ac.jp/~koba/","https://hal-enpc.archives-ouvertes.fr/hal-00479818/document"],"app":"steemit/0.1","format":"markdown"} |
created | 2017-01-13 22:53:36 |
last_update | 2017-01-13 22:53:36 |
depth | 0 |
children | 0 |
last_payout | 2017-02-13 23:28:00 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 4.175 HBD |
curator_payout_value | 0.457 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 3,639 |
author_reputation | 353,623,611,191,427 |
root_title | "Model Checking Higher Order Programs and the implications" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 2,240,453 |
net_rshares | 27,979,452,146,784 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
barrie | 0 | 694,283,759,172 | 100% | ||
xeldal | 0 | 7,412,844,591,153 | 100% | ||
enki | 0 | 4,467,254,519,819 | 100% | ||
wang | 0 | 904,195,861,769 | 67% | ||
mineralwasser | 0 | 1,854,601,545 | 100% | ||
boombastic | 0 | 1,053,979,996,734 | 100% | ||
mrs.agsexplorer | 0 | 139,441,051,695 | 100% | ||
bingo-1 | 0 | 2,603,642,040 | 100% | ||
donkeypong | 0 | 2,389,640,144,770 | 100% | ||
chitty | 0 | 304,343,602,877 | 100% | ||
dana-edwards | 0 | 463,183,437,811 | 100% | ||
ninzacode | 0 | 21,834,900,882 | 100% | ||
nanzo-scoop | 0 | 1,474,183,287,096 | 100% | ||
pal | 0 | 366,042,469,211 | 100% | ||
mummyimperfect | 0 | 140,757,282,165 | 100% | ||
murh | 0 | 1,586,536,289 | 13% | ||
cryptofunk | 0 | 13,086,657,216 | 100% | ||
ak2020 | 0 | 59,978,569,318 | 100% | ||
thecryptofiend | 0 | 426,823,948,343 | 100% | ||
stellabelle | 0 | 1,804,603,160,400 | 100% | ||
rok-sivante | 0 | 429,397,102,894 | 80% | ||
juanmiguelsalas | 0 | 26,886,249,787 | 60% | ||
will-zewe | 0 | 175,128,344,054 | 100% | ||
bravenewcoin | 0 | 158,840,395,363 | 100% | ||
geoffrey | 0 | 357,295,025,739 | 100% | ||
emily-cook | 0 | 49,099,070,339 | 100% | ||
fyrstikken | 0 | 109,251,239,600 | 3% | ||
thebatchman | 0 | 1,117,168,992 | 3% | ||
roelandp | 0 | 136,939,857,596 | 67% | ||
rubybian | 0 | 111,166,574,027 | 100% | ||
tcfxyz | 0 | 25,376,530,283 | 100% | ||
futurefood | 0 | 40,989,024,941 | 100% | ||
slowwalker | 0 | 899,598,637,675 | 100% | ||
taurus | 0 | 6,443,946,689 | 100% | ||
asim | 0 | 11,353,601,541 | 100% | ||
incomemonthly | 0 | 8,409,874,910 | 100% | ||
bobbylee | 0 | 465,432,930,612 | 100% | ||
thebatchman1 | 0 | 69,190,249 | 3% | ||
karenmckersie | 0 | 26,177,942,813 | 71% | ||
allmonitors | 0 | 19,122,295,696 | 100% | ||
artific | 0 | 4,429,331,739 | 2% | ||
opheliafu | 0 | 169,382,205,069 | 100% | ||
ubg | 0 | 21,370,622,609 | 90% | ||
deanliu | 0 | 73,604,436,577 | 100% | ||
raymonjohnstone | 0 | 171,373,882 | 50% | ||
lemooljiang | 0 | 48,345,079,560 | 100% | ||
alex.chien | 0 | 1,938,151,415 | 100% | ||
originate | 0 | 336,328,342,994 | 100% | ||
ap2002 | 0 | 98,822,511 | 100% | ||
transhuman | 0 | 1,696,376,904 | 44% | ||
laoyao | 0 | 34,316,509,166 | 100% | ||
elena000 | 0 | 284,967,888 | 100% | ||
juurop | 0 | 3,145,964,628 | 90% | ||
usb | 0 | 749,021,853 | 90% | ||
tannukas6 | 0 | 2,656,530,081 | 90% | ||
oflyhigh | 0 | 16,955,959,652 | 100% | ||
thedailyhobbyist | 0 | 2,629,759,139 | 100% | ||
gardoz32 | 0 | 18,527,145,219 | 100% | ||
chinadaily | 0 | 78,349,262,226 | 100% | ||
helene | 0 | 22,433,709,858 | 100% | ||
scorpion130380 | 0 | 57,639,565 | 100% | ||
bitfish | 0 | 69,311,124 | 100% | ||
andrewawerdna | 0 | 33,392,987,338 | 100% | ||
onlyvoluntary | 0 | 3,391,199,593 | 100% | ||
inchonbitcoin | 0 | 383,543,713,917 | 100% | ||
runridefly | 0 | 19,025,055,481 | 77% | ||
krnel | 0 | 599,647,805,721 | 100% | ||
sponge-bob | 0 | 147,678,791,361 | 100% | ||
immortalfame | 0 | 14,329,155,720 | 100% | ||
doitvoluntarily | 0 | 169,450,513,534 | 100% | ||
smisi | 0 | 1,669,927,740 | 100% | ||
steemit79 | 0 | 52,642,618 | 100% | ||
jonathanyoung | 0 | 5,065,133,398 | 100% | ||
goose | 0 | 11,826,273,986 | 100% | ||
brains | 0 | 149,613,329,281 | 100% | ||
portuguesinha | 0 | 1,353,317,007 | 100% | ||
rynow | 0 | 35,332,279,259 | 100% | ||
kiwiscanfly | 0 | 11,030,803,946 | 100% | ||
meerkat | 0 | 3,868,805,150 | 10% | ||
budgiebee | 0 | 747,799,618 | 100% | ||
reddust | 0 | 51,555,309,949 | 100% | ||
rgeddes | 0 | 102,205,785,270 | 97% | ||
unhorsepower777 | 0 | 16,113,550,049 | 100% | ||
lalala | 0 | 364,813,270 | 100% | ||
trans-juanmi | 0 | 5,001,258,325 | 60% | ||
breezin | 0 | 744,647,459 | 100% | ||
our | 0 | 570,262,742 | 90% | ||
yadamaniart | 0 | 23,422,295,606 | 100% | ||
mafeeva | 0 | 25,122,584,201 | 100% | ||
bugs | 0 | 526,620,844 | 90% | ||
important | 0 | 561,508,432 | 90% | ||
government | 0 | 526,425,925 | 90% | ||
elven | 0 | 1,993,481,511 | 90% | ||
fairlight | 0 | 535,226,792 | 90% | ||
chappers | 0 | 24,002,694,345 | 100% | ||
qubes | 0 | 91,434,184,014 | 100% | ||
juliosalas | 0 | 765,200,048 | 60% | ||
quck | 0 | 3,592,572,729 | 90% | ||
cryptocash | 0 | 116,448,369 | 100% | ||
zkalemiss | 0 | 1,120,194,472 | 100% |