Caesar: 확률적 프로그램 (Probabilistic Programs)을 위한 연역적 검증기 (Deductive Verifier)
요약
Caesar는 HeyLo 기반의 정량적 중간 검증 언어인 HeyVL을 사용하는 확률적 프로그램용 연역적 검증기입니다. 사용자는 HeyVL을 통해 프로그램, 사양, 증명 규칙을 프로그래밍 방식으로 표현할 수 있으며, Z3 SMT solver를 통해 검증 조건을 확인합니다. 본 논문은 Caesar의 5년간의 개발 성과와 아키텍처, 그리고 최근의 기능 개선 사항을 다룹니다.
핵심 포인트
- HeyVL을 통한 확률적 프로그램 및 증명 규칙의 프로그래밍 방식 표현 가능
- Z3 SMT solver를 활용한 검증 조건 변환 및 확인 프로세스
- 확률적 모델 체킹(Probabilistic model checking) 기반의 백엔드 지원
- 5년간의 개발을 통한 아키텍처 고도화 및 진단(Diagnostics) 기능 개선
Caesar는 확률적 프로그램 (Probabilistic Programs)을 위한 연역적 검증기 (Deductive Verifier)입니다. 그 핵심에는 실수 값 논리 (Real-valued logic)인 HeyLo를 기반으로 하는 정량적 중간 검증 언어 (Quantitative intermediate verification language)인 HeyVL이 자리 잡고 있습니다. HeyVL을 통해 사용자는 확률적 프로그램, 그 사양 (Specifications), 그리고 증명 규칙 (Proof rules)을 프로그래밍 언어 스타일로 표현할 수 있어, 새로운 증명 규칙을 검증기에 쉽게 통합할 수 있습니다. Caesar는 HeyVL 프로그램을 검증 조건 (Verification conditions)으로 변환하며, 이는 Z3 SMT solver를 사용하여 확인됩니다. 또한 HeyVL의 일부 하위 집합에 대해 확률적 모델 체킹 (Probabilistic model checking)에 기반한 백엔드 (Backend)를 포함하고 있습니다. 본 논문에서는 Caesar의 5년간의 개발 결과를 보고하며, 주요 특징과 아키텍처 (Architecture)를 강조합니다. 특히 추가적인 증명 규칙, 모델 체킹 백엔드, 그리고 개선된 진단 (Diagnostics) 기능과 같은 최근의 개선 사항들을 설명합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기