2026年8月15日 LLMはMetamorphic Relationsを提案できる。しかし保証はできない。 大規模言語モデルはtest oracleの発見において悪くないブレインストーミングパートナーだが、性質を幻覚し、ドメイン制約を見落とす。それらを、怪しいテストをリリースすることなく使う方法を解説する。 metamorphic-testingllmtest-oraclesai-engineering
2026年8月14日 多くのMetamorphic Relationsは役に立たない。優れたものを選ぶ方法。 すべてのmetamorphic relationsがバグを捉えるわけではない。弱いrelationは虚偽の自信を与え、強いrelationだけが本当の欠陥を見つける。どう違いを見分け、実際に機能するrelationセットを構築するかを解説する。 metamorphic-testingmetamorphic-relationstestingoracle-problem
2026年8月13日 正解がわからないコードはどうテストする? Metamorphic testingを使えば、正しい出力が何かを知らなくてもコードの正しさを検証できる。その仕組み、限界、そして使い始める方法を解説する。 metamorphic-testingoracle-problemtestingml
2026年8月12日 TypeScriptがその呼び出しを許さない:型システムにプロトコル状態を埋め込む方法 Phantom typesと `this` パラメータを使い、違法なプロトコル遷移を実行時のバグではなくコンパイルエラーに変える方法。 session-typestypescriptprotocol-statetype-systems
2026年8月11日 OpenAPIは文字を与える。Session Typesが必要とするのは文法だ。 OpenAPIの仕様はリクエストとレスポンスのスキーマを記述するが、有効なメッセージの順序までは規定しない。ここでは、どこまで自動抽出できるか、そしてどこに手作業で補う必要があるかを説明する。 session-typesopenapiprotocol-specsapi-design
2026年8月10日 セッション型は機能する。ほとんどの言語がただ実装を拒否しただけだ。 セッション型は通信プロトコルを型システムにエンコードし、実行時のプロトコルエラーをコンパイル時のエラーに変換する。プロダクションコードが使用できるようになるまでに30年間の研究論文に費やされた理由はここにある。 session-typesresearchadoptiontype-systems
2026年8月9日 セッション型がデッドロックをコンパイルエラーに変える方法 セッション型は通信プロトコルを型システムにエンコードし、コードが実行される前にメッセージパッシングの不一致をコンパイルエラーに変える。 session-typesdeadlockscompile-timeprotocols
2026年8月8日 抽象解釈は博士学位が必要に聞こえる。もうそうではない Inferを使ってCIパイプラインで形式的静的解析を実行する方法。動作する設定と現実的なトレードオフを紹介する。 abstract-interpretationci-cdstatic-analysisinfer
2026年8月7日 LLMは静的解析の警告を優先順位付けできる。ただし、なぜかは説明できない 大規模言語モデルは静的解析の偽陽性の選別に役立つが、抽象解釈のようにプログラムの意味論を理解しているわけではない。両者を組み合わせる方法を解説する。 abstract-interpretationllmstatic-analysisfalse-positives
2026年8月6日 Facebookは抽象解釈でAndroidを並列化した。その仕組みを解説する。 Facebookがどのように抽象解釈と意図的なunsoundnessを用いて、数百万行のAndroidコードにおける競合状態を大規模に発見したか。 abstract-interpretationconcurrencyandroidrace-conditions