specula-org/Specula
Specula: An agentic tool for finding deep bugs in system code using TLA+
해결하는 문제
Specula는 병렬 및 분산 시스템에서 깊고 복잡한 버그를 찾는 어려움을 해결합니다. 이러한 시스템에 대한 형식적 사양을 수동으로 작성하는 것은 시간이 오래 걸리며 전문 지식이 필요하므로, 대규모 오픈소스 프로젝트에 형식 검증을 확장하기 어렵습니다.
작동 방식
Specula는 AI 코딩 에이전트를 사용하여 형식 검증 파이프라인을 자동화합니다. 다음 단계를 따릅니다:
- 분석 및 사양 생성: 코딩 에이전트가 시스템의 소스 코드를 읽어 정확성 속성(불변 조건)을 추론하고 TLA+로 형식 사양을 작성합니다.
- 모델 체크: 시스템은 이러한 사양을 모델 체크하여 불변 조건 위반 가능성을 식별합니다.
- 버그 재현: 위반이 발견되면 에이전트는 반례를 분석하여 실제 코드 수준에서 버그를 재현합니다.
"Auto Mode"로 엔드투엔드 실행이 가능하며, 사용자가 code-analysis, spec-generation, bug-confirmation와 같은 특정 기능을 순차적으로 트리거할 수 있는 "Interactive Mode"도 지원합니다.
대상 사용자
형식 사양을 하나씩 수동으로 작성하지 않고도 깊은 아키텍처적 또는 동기화 버그를 찾고 싶은 병렬 또는 분산 시스템 개발자 및 연구자에게 적합합니다.
주요 특징
- 자율적인 TLA+ 생성: LLM 기반 에이전트를 사용해 구현 코드를 형식 모델로 변환합니다.
- 코드 수준 재현: 추상적인 모델 체크 위반과 구체적인 코드 버그 사이의 간극을 메웁니다.
- 에이전트 통합: Claude Code, Codex, Copilot CLI, OpenCode, Pi 등 다양한 코딩 에이전트를 지원합니다.
- 확장 가능한 도구: 트레이스 디버깅 및 사양 분석을 위한 MCP (Model Context Protocol) 도구를 포함합니다.
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트