# Causal Software Engineering ## 定義 Causal Software Engineering(CSE)は、因果モデルと因果推論をソフトウェアライフサイクル(要件・アーキテクチャ・テスト・デバッグ・運用)の活動に体系的に組み込む将来のパラダイムである。既存のSE実践を置き換えるのではなく、明示的な前提・不確実性を考慮した因果効果推定・反実仮想診断で拡張する。コード変更・設定変更・デプロイ・是正措置をdo演算子で表される因果的介入($do(X=x)$)として扱い、相関ベースのAIOps/異常検知/LLMエージェントが答えられない介入的(what-if)・反実仮想的(counterfactual)な問いに、監査可能な因果的主張で答えることを目指す。3種の軽量アーティファクト(causal design spec・intervention log・living causal model)と、Causal Readiness Level(CRL-0〜CRL-5)という4ルート(因果的可観測性・介入可能性・反実仮想的保証・ガバナンス&アラインメント)共進化のロードマップで構成される。(Source: [[@2026__FSE__Causal Software Engineering - A Vision and Roadmap]]) ## 横断的知見 - **CSE が Route 1 の課題として引用した「因果グラフの安定性」問題の原典を取り込んだ結果、CSE のビジョンが前提とする「living causal model」の実現可能性に具体的な疑問符がつく**: [[@2025__EMSE__Shaky structures - The wobbly world of causal graphs in software analytics]](Hulse, Eisty, Menzies)は、PC/FCI/GES/LiNGAMの4因果グラフ生成器がSEデータ23件に対し、リリース間・プロジェクト間・パラメータ微調整・10%サブサンプルのいずれの摂動でも過半数の因果エッジを変化させることを実証した。CSE が想定する「living causal model」(継続的に更新される因果モデル)は、システムのコード変更・デプロイのたびに新しい観測データから因果グラフを再学習することを暗黙に前提とするが、Hulse+ 2025 の知見に従えば、この再学習自体が(たとえ変更が軽微でも)グラフ構造を大きく変えうる。すなわち CSE の「進化する因果モデル」という発想は、「進化に追従して更新される」ことと「更新のたびに構造が不安定に振れる」ことを区別する仕組みを持たない限り、むしろモデルの信頼性を損ないかねない。(Source: [[@2025__EMSE__Shaky structures - The wobbly world of causal graphs in software analytics]]) - **Hulse+ 2025 が提案する「複数の生成グラフにわたる結論の頑健性検証」は、CSE の causal design spec に組み込みうる具体的な検証プロセスの候補である**: CSE は causal design spec を「テスト前・デプロイ前の前提明示プロセス」として位置づけるが、その前提が自動生成された因果グラフから来る場合、Hulse+ 2025 の結論(「因果グラフから一般的な結論を報告する前に、その結論が数多くの生成グラフにわたって成立することを検証すべき」)は、causal design spec の妥当性検証手続きの一部として直接転用できる。(Source: [[@2025__EMSE__Shaky structures - The wobbly world of causal graphs in software analytics]]) ## 未解決の問い - causal design spec・intervention log・living causal modelという3アーティファクトは、既存の[[AIOps]]系ツール(異常検知・RCA)のパイプラインにどう接続されるべきか。具体的な実装や評価はまだ存在しない。 - **living causal model の更新頻度と因果グラフ安定性のトレードオフをどう設計すべきか**: [[@2025__EMSE__Shaky structures - The wobbly world of causal graphs in software analytics]]は決定論的アルゴリズムでも訓練データのわずかな変化でグラフ構造が大きく変わることを示したが、CSEの living causal model がどの頻度で・どの規模のデータ変化で再学習すべきかの具体的なガイドラインは、CSE 論文にも Hulse+ 2025 にも存在しない。(Source: [[@2025__EMSE__Shaky structures - The wobbly world of causal graphs in software analytics]]) - [[因果推論ベースRCA]]・[[因果発見]]系のRCA手法群は、事後的な根本原因のランキングという単一の用途に閉じているが、CSEが提案する「causal design spec」のようなテスト前・デプロイ前の前提明示プロセスと、これらの既存RCA手法はどう統合されうるか。 - CSEが提案する3つのベンチマークファミリー(intervention-effect、counterfactual incident、causal testing)に対応する既存の評価用データセットは、wikiに取り込み済みの他のRCA/因果発見論文の中に存在するか。 ## 関連 - [[因果推論ベースRCA]] — 事後的な根本原因の因果的推定という、CSEのRoute 1(因果的可観測性)に相当する既存の実践群。 - [[根本原因分析]] — RCA一般。CSEはRCAを「事後的なランキング」から「介入を意識した意思決定」へ拡張しようとする。 - [[AIOps]] — CSEが拡張しようとする相関ベースの既存ツール群(異常検知・予測分析・AIOps)。 - [[因果発見]] — 因果グラフの学習という、CSEのcausal design specやliving causal modelの構築技術と関連。 - MOC: [[AI4SE - MOC]](一方向参照) ## 出典 - [[@2026__FSE__Causal Software Engineering - A Vision and Roadmap]] — Pietrantuono, Giamattei, Russo, Siebert, Walkinshaw. FSE Companion '26. - [[@2025__EMSE__Shaky structures - The wobbly world of causal graphs in software analytics]] — Hulse, Eisty, Menzies. Empirical Software Engineering 2025。本概念のRoute 1課題として引用されていた「進化のもとで安定な因果グラフ」問題の原典。PC/FCI/GES/LiNGAMの4生成器がSEデータに対して示す不安定性を実証。