specula-org/Specula

Specula: An agentic tool for finding deep bugs in system code using TLA+

解決する課題

Speculaは、従来のテストでは検出が困難な、並行・分散システムコード内の深層的かつ複雑なバグを発見します。高レベルなシステム仕様と実際のコード実装の間のギャップを埋めることで、形式検証のプロセスを自動化します。

仕組み

SpeculaはAIコーディングエージェントを使用してターゲットシステムのソースコードを分析し、自動的にTLA+仕様を記述します。これらの仕様には、システム実装の形式モデルと、そのシステムにおける「正しさ」を定義する不変条件が含まれます。その後、ツールはこれらの仕様をモデルチェックし、潜在的な違反を発見します。違反が見つかると、Speculaは実際のコードレベルでその違反を再現し、バグを確定させます。

対象ユーザー

高いレベルの正確性を確保し、深層的なアーキテクチャやロジックのバグを見つける必要がある、並行・分散システムに取り組むソフトウェアエンジニアおよび研究者。

ハイライト

  • 自動化された形式仕様: LLMベースのコーディングエージェントを使用して、ソースコードからTLA+モデルを生成します。
  • コードレベルでの再現: モデル内の理論的な違反を見つけるだけでなく、実際の実装でそれらを再現します。
  • CI統合: 継続的な検証をサポートし、ソースコードの変更を段階的にチェックします。
  • エージェント非依存: スキルシステムとMCPツールを通じて、Claude Code、Codex、Copilot CLIを含む様々なコーディングエージェントと互換性があります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト