Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel ...
Search
y_taka_23
August 22, 2026
Technology
960
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
Kernel/VM 探検隊@東京 No.19 で使用したスライドです。
y_taka_23
August 22, 2026
More Decks by y_taka_23
See All by y_taka_23
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
1k
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
1.3k
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
17
8.3k
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
3
920
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
2.5k
AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜 #fp_matsuri / FP Matsuri 2025
ytaka23
12
6.6k
問 1:以下のコンパイラを証明せよ(予告編) #kernelvm / Kernel VM Study Kansai 11th
ytaka23
3
1.2k
AWS のポリシー言語 Cedar を活用した高速かつスケーラブルな認可技術の探求 #phperkaigi / PHPerKaigi 2025
ytaka23
15
6.1k
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
7
1k
Other Decks in Technology
See All in Technology
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
600
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
3
940
プロダクトエンジニアに必要な「いい感じ」に作る能力 〜たくさん作れる時代に、どこまで作るかの決め方〜
jnishime_dresscode
2
1.4k
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
260
GoにおけるFFIのこれまでとこれから
goccy
1
290
When Does a Local Qwen Start to Break
morshoto
0
190
振り返りこそエンジニアの本領
negima
0
320
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
130
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
190
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
630
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
450
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
Believing is Seeing
oripsolob
1
210
GraphQLとの向き合い方2022年版
quramy
50
15k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
490
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Being A Developer After 40
akosma
91
590k
Transcript
#kernelvm チェシャ猫 (@y_taka_23) Kernel/VM 探検隊@東京 No.19 (22nd Aug. 2026) 形式手法特論
Hyperproperty と モデル検査
夏休みといえば冪集合
例:押しボタン式信号機
押しボタン式信号機の状態空間 • 色は赤 R と青 G、押しボタン P を持つ • 系の状態としては
2 × 2 で 4 通り ◦ (R, -):信号は赤、ボタンは押されていない ◦ (R, P):信号は赤、ボタンは押されている ◦ (G, -):信号は青、ボタンは押されていない ◦ (G, P):信号は青、ボタンは押されている
(R, -) (G, -) (R, P) (G, P)
単に状態を 無作為に並べた列 … (R, -) (R, P) (R, -) (R,
-) (G, -) … (R, -) (G, -) (G, P) (R, P) (G, -) … (R, -) (R, P) (R, P) (R, P) (G, -) … (R, -) (R, -) (R, P) (G, -) (G, -)
単に状態を 無作為に並べた列 状態遷移図で 発生し得る列 … (R, -) (R, P) (R,
-) (R, -) (G, -) … (R, -) (G, -) (G, P) (R, P) (G, -) … (R, -) (R, P) (R, P) (R, P) (G, -) … (R, -) (R, -) (R, P) (G, -) (G, -)
仕様:青の間はボタンが反応しない
システムの安全性 • Safety(安全性) ◦ 違反する場合、ある有限 Prefix まで見れば違反が確定 • 例:「青の間はボタンが反応しない」は Safety
◦ どこかで (G, P) が現れた時点で違反が確定 • 例「赤の後いつか青になる」は Safety ではない ◦ 赤が 100 回続いても、101 回目が青の可能性が残る
単に状態を 無作為に並べた列 状態遷移図で 発生し得る列 … (R, -) (R, P) (R,
-) (R, -) (G, -) … (R, -) (G, -) (G, P) (R, P) (G, -) … (R, -) (R, P) (R, P) (R, P) (G, -) … (R, -) (R, -) (R, P) (G, -) (G, -)
単に状態を 無作為に並べた列 状態遷移図で 発生し得る列 … (R, -) (R, P) (R,
-) (R, -) (G, -) … (R, -) (G, -) (G, P) (R, P) (G, -) 仕様を満たす列 … (R, -) (R, P) (R, P) (R, P) (G, -) … (R, -) (R, -) (R, P) (G, -) (G, -)
単に状態を 無作為に並べた列 状態遷移図で 発生し得る列 仕様違反確定 … (R, -) (R, P)
(R, -) (R, -) (G, -) … (R, -) (G, -) (G, P) (R, P) (G, -) 仕様を満たす列 … (R, -) (R, P) (R, P) (R, P) (G, -) … (R, -) (R, -) (R, P) (G, -) (G, -)
Trace と Property • Trace:状態の(無限)列 • Property:Trace の集合 ◦ t
∈ P は「t に対して P が成り立つ」を意味する • Plotkin 位相 ◦ 共通 Prefix が長い Trace 同士は「近い」とみなす ◦ Safety は Plotkin 位相における閉集合に相当
仕様:ボタンを早く押せば 青になるのも早い
複数の Trace の比較が必要
Hyperproperties M.R. Clarkson, F.B. Schneider (JCS 2010) https://doi.org/10.3233/JCS-2009-0393
Hyperproperty • 通常の Property ◦ Trace の集合 ◦ 一本の Traceに対して性質を記述(t
∈ P かどうか) • Hyperproperty ◦ Trace の集合の集合 ◦ Trace の集合(複数本の関係)に対して性質を記述
Hyperproperty の世界における Safety の対応物は何であるべきか?
Vietoris 位相 • 位相空間 X に対し、その冪集合 P(X) に位相を入れたい • X
の開集合 U に対し、自然な P(X) の準開基の構成ふたつ • Lower Vietoris 位相 ◦ {A ⊆ X : A ∩ U ≠ ∅}(U と交わる集合の全体) • Upper Vietoris 位相 ◦ {A ⊆ X : A ⊆ U}(U に含まれる集合の全体)
それぞれの位相における閉集合 • Plotkin 位相の閉集合(元々の Safety) ◦ ある有限 Prefix が生じ得ると分かれば違反 •
Lower Vietoris 位相の閉集合 ◦ ある有限本の有限 Prefix が生じ得ると分かれば違反 • Upper Vietoris 位相の閉集合 ◦ 特定の有限 Prefix 以外が生じ得ないと分かれば違反
Lower Vietoris 位相の方が 元の Safety を上手く拡張している
ふたつの Trace を比較したいなら 信号機を 2 個組にすれば良いのでは?
k-Safety • 高々 k 本の有限 Prefix が生じれば違反が確定 • 例:「ボタンを早く押せば、青になるのも早い」 は以下の
2 本の Prefix で違反確定なので 2-Safety … (R, -) (R, P) (R, P) (R, P) (G, -) … (R, -) (R, -) (R, P) (G, -) (G, -)
k-Safety のモデル検査 定理(Clarkson-Schneider, 2010, Theorem 2) k-Safety のモデル検査は、元の状態遷移系を k 個複製して
同期積を取った状態遷移系に対する、 Hyper でない従来の Safety のモデル検査に帰着できる
本日のまとめ • Property:Trace がなす集合 • Safety:Plotkin 位相における閉集合 ◦ 有限 Prefix
を見れば違反が確定 • Hyperproperty:Trace がなす集合の集合 • Hypersafety:Lower Vietoris 位相における閉集合 ◦ 有限本の有限 Prefix を見れば違反が確定
Check Hypersafeties for Hyper-safe systems! Presented By チェシャ猫 (@y_taka_23)