flowistry
Rust の Information flow を解析するツール
Rust におけるフロー解析の応用ツールとして作成
VS Code 拡張として提供
repo: https://github.com/willcrichton/flowistry
関心のあるコードに集中するための機能を提供する
目的のコードと関連するコードは強調表示される
それ以外は淡色表示になって目立たなくなる
willcrichton 氏作(ブラウン大学)
基本的な使い方
1. Flow mode を使う
flow mode を有効化すると、現在のカーソル位置を基準に解析が実施される
変数上にカーソルを置くと、その変数のフォーカス領域が強調表示される
フォーカス領域外のコードは薄く表示される
2. マークを配置する
1.がカーソル位置に対する解析だったのに対し、その位置を固定できる機能
仕組み
解析の情報源
RustコンパイラAPIを使い、特定の関数のMIRグラフを解析している
解析アルゴリズム
論文:「Modular information flow through ownership」 (PLDI 2022)
発表:Modular Information Flow Through Ownership by ACM SIGPLAN - YouTube
所有権システムの応用
実装
コア部分クレートのドキュメント: https://willcrichton.net/flowistry/flowistry/
#rust #VSCodeExtension