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
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
230
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
530
その指示、Bobにしっかり伝わってる?初心者でも即実践できる プロンプト/コンテキスト設計のコツ
muehara
1
210
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
390
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
3
2.5k
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
110
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
2
2.7k
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
410
振り返りこそエンジニアの本領
negima
0
320
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
280
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
280
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
110
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
Making the Leap to Tech Lead
cromwellryan
135
10k
Making Projects Easy
brettharned
120
6.7k
My Coaching Mixtape
mlcsv
0
310
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Designing Experiences People Love
moore
143
24k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Marketing to machines
jonoalderson
1
5.7k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
510
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
440
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)