LLM 기반 CTI 가이드 인버리언트 생성으로 모델 체크 효율 극대화
초록
CIll은 Counterexample‑to‑Induction(CTI)을 활용해 대형 언어 모델(LLM)에게 인버리언트를 제안하도록 하는 프레임워크이다. Bounded Model Checking과 K‑Induction을 보조 엔진으로 두고, IC3와의 협업 및 로컬 프루프 재사용을 통해 검색 중복을 최소화한다. RISCV‑Formal 평가에서 NERV·PicoRV32 코어의 전체 규격 검증에 성공했으며, 기존 모델 체커가 해결하지 못한 M‑extension도 대체 의미론으로 검증하였다.
상세 분석
CIll은 기존 IC3/PDR 방식이 CNF 형태에 국한돼 복잡한 관계식(예: 비트‑레벨 캐리 연산)을 효율적으로 표현하지 못하는 한계를 극복하고자 설계되었다. 핵심 아이디어는 CTI(귀납성 실패 사례)를 LLM에 전달해 설계 수준의 고수준 논리를 직접 추출하도록 하는 것이다. 구체적으로, CIll은 (1) Bounded Model Checking(BMC)으로 현재 생성된 인버리언트가 제한된 깊이 내에서 올바른지 검증하고, (2) K‑Induction(또는 1‑Induction)으로 인버리언트와 원본 속성이 귀납적인지를 판단한다. 귀납성 검증이 실패하면, 해당 CTI와 설계 RTL 코드를 프롬프트에 포함시켜 LLM에게 새로운 헬퍼 어설션을 생성하도록 요청한다. LLM이 제시한 어설션은 다시 BMC와 귀납성 단계에 투입되어 반복된다.
이 과정에서 CIll은 두 가지 보조 메커니즘을 도입한다. 첫째, 기존 IC3 엔진을 병행 사용해 자동으로 발견 가능한 단순 인버리언트를 빠르게 확보한다. 둘째, 로컬 프루프(local proof) 기법을 적용해 이미 증명된 인버리언트를 재활용함으로써 동일한 서브‑문제에 대한 중복 SAT/SMT 호출을 회피한다. 이러한 설계는 LLM이 제안하는 복잡한 관계식이 실제 설계와 일치하는지 검증하는 비용을 최소화한다는 점에서 실용적이다.
실험에서는 RISCV‑Formal 프레임워크를 기반으로 NERV, PicoRV32, SER‑V 등 세 가지 오픈소스 코어를 대상으로 평가하였다. 비M‑명령어에 대해서는 완전한 규격 준수를 증명했으며, M‑extension에 대해서는 RISCV‑Formal이 제공하는 ALTOPS 대체 의미론을 이용해 정확히 검증했다. 특히, 기존 최첨단 모델 체커들이 해결하지 못한 복잡한 산술 관계(예: 워드‑레벨 합동 등)를 LLM이 고수준 수식 형태로 직접 제시함으로써 증명 길이를 크게 단축시켰다.
CIll의 한계는 현재 GPT‑4‑turbo 수준의 LLM에 의존한다는 점이다. 프롬프트 설계와 모델 파라미터에 따라 제안된 인버리언트의 품질이 크게 달라질 수 있다. 또한, LLM이 생성한 어설션이 실제 하드웨어 설계와 완전히 일치하는지 검증하는 과정이 추가적인 SAT/SMT 호출을 요구하므로, 대규모 설계에선 여전히 성능 병목이 존재한다. 향후 연구에서는 LLM‑in‑the‑loop 학습, 도메인‑특화 프롬프트 자동 생성, 그리고 증명 보조용 작은 특화 모델을 도입해 이러한 문제를 완화할 수 있을 것으로 기대한다.
댓글 및 학술 토론
Loading comments...
의견 남기기