The formal analysis of automated systems is an important and growing industry. This activity routinely requires new verification frameworks to be developed to tackle new programming features, or new considerations (bugs of interest). Often, one particular property can prove frustrating to establish: completeness of the logic with respect to the semantics. In this paper, we try and make such developments easier, with a particular attention on completeness. Towards that aim, we propose a formal (meta-)model of software analysis systems (SAS), the eponymous Representations. This model requires few assumptions on the SAS being modelled, and as such is able to capture a large class of such systems. We then show how our approach can be fruitful, both to understand how existing completeness proofs can be structured, and to leverage this structure to build new systems and prove their completeness.
- 논문 ID: 2510.11419
- 제목: Representations
- 저자: Paul Brunet (EPISEN & LACL, Université Paris-Est Créteil Val de Marne)
- 분류: cs.LO (컴퓨터 과학의 논리)
- 발표 시간: 2025년 10월 14일 (arXiv 버전)
- 논문 링크: https://arxiv.org/abs/2510.11419
자동화 시스템의 형식적 분석은 중요하고 지속적으로 발전하는 산업 분야입니다. 이 활동은 일반적으로 새로운 프로그래밍 특성이나 새로운 고려 사항(관심 있는 오류)을 처리하기 위해 새로운 검증 프레임워크를 개발해야 합니다. 특히 어려운 특성 중 하나는 의미론에 대한 논리의 완전성을 확립하는 것입니다. 본 논문에서 저자는 이러한 개발을 더 쉽게 하려고 시도하며, 특히 완전성에 초점을 맞춥니다. 이를 위해 저자는 소프트웨어 분석 시스템(SAS)의 형식적 (메타)모델인 동명의 "표현(Representations)"을 제안합니다. 이 모델은 모델링되는 SAS에 대해 최소한의 가정만을 요구하므로 이러한 시스템의 광범위한 클래스를 포착할 수 있습니다. 그 후 이 방법이 기존 완전성 증명의 구조를 이해하고 이러한 구조를 활용하여 새로운 시스템을 구축하고 그 완전성을 증명하는 데 어떻게 효과적인지를 보여줍니다.
자동화 시스템이 점점 더 다양한 작업을 수행함에 따라 형식적 분석 문제는 중요성과 다양성 측면에서 증가하고 있습니다. 이 분야가 얼마 전까지만 해도 주로 중요 시스템 및 그 잠재적 결함 연구에 의해 지배되었을 때, 이제 우리는 서비스 품질과 같은 문제들도 형식적 분석을 통해 해결되는 것을 봅니다.
소프트웨어 분석 시스템(SAS)의 정확성은 두 가지 성질에 의존합니다:
- 건전성(Soundness): 논리에서 유효한 모든 판단이 의미론적으로 만족됨
- 완전성(Completeness): 의미론적으로 올바른 모든 판단이 논리를 통해 확립될 수 있음
완전성은 일반적으로 정확성 증명에서 어려운 부분입니다. 건전성은 논리의 각 규칙의 건전성을 검사하여 확립할 수 있지만, 완전성은 증명자가 모든 참인 의미론적 사실에 대해 도출을 생성해야 하며 적용 가능한 일반적인 방법이 없기 때문입니다.
저자는 투명한 방식으로 건전하고 완전한 SAS를 생성할 수 있는 모듈식 메타시스템 기초를 제공하고자 합니다. 이러한 도구는 형식적 분석 기술을 더 광범위한 시스템 클래스와 그에 대한 문제 클래스에 적용할 수 있게 할 것입니다.
- 표현(Representations)의 형식적 모델 제안: 소프트웨어 분석 시스템을 설명하기 위한 최소한의 가정을 요구하는 통용적 프레임워크
- 표현의 범주론적 구조 확립: 표현 간의 동형사상을 정의하고 표현의 범주가 데카르트적임을 증명
- 완전성 증명의 통용적 템플릿 제공: "축약(reductions)" 개념을 통해 완전성을 확립하기 위한 연역적 완전 템플릿 제시
- 고차 표현 이론 개발: 집합 범주에서 표현 범주로의 함자를 통해 매개변수화된 표현 특성화
- 이론의 실용성 입증: Kleene 대수 및 그 확장의 여러 사례를 통해 방법의 유효성 검증
정의 1 (표현): 표현은 네 쌍 R=⟨T,E,∣=,≤⟩이며, 여기서:
- T는 추적(traces)의 집합
- E는 표현식의 집합
- ∣=:T⇀E는 만족 관계
- ≤는 E 위의 전순서이며, ∣=;≤⊆∣=를 만족
(∣=\∣=)⊆≤를 만족할 때, 이 표현을 정확한(exact) 것이라고 합니다.
관계 대수를 사용하면 건전성과 완전성을 다음과 같이 표현할 수 있습니다:
- 건전성: ∣=;≤⊆∣= (공리 1)
- 완전성: ∣=\∣=⊆≤ (공리 2)
여기서 ∣=\∣=는 의미론적 포함 관계를 나타냅니다.
정의 2 (태사상): 두 표현 R1과 R2가 주어졌을 때, 전자에서 후자로의 태사상은 다음을 만족하는 쌍 ⟨ϕ,ψ⟩:R1→R2입니다:
- ϕ:E1→E2는 함수이고, ψ:T2⇀T1은 관계
- ϕ는 순서 보존: ϕ∗;≤1⊆≤2;ϕ∗
- 해석 호환성: ∣=2;ϕ∗=ψ;∣=1
명제 1: R1과 R2가 모두 정확하면, 그들의 곱도 정확합니다.
정의 3 (축약): 표현 R1에서 R2로의 축약은 다음을 만족하는 삼중쌍 ⟨ϕ,τ,ψ⟩:R1⇝R2입니다:
- ϕ:E1→E2와 τ:E2→E1은 함수이고, ψ:T2⇀T1은 관계
- τ는 순서 보존: τ∗;≤2⊆≤1;τ∗
- 해석 호환성: ∣=2;ϕ∗=ψ;∣=1
- 동치성: τ∗;ϕ∗⊆≤1 그리고 ϕ∗;τ∗⊆≤1
명제 2: R1이 정확한 것과 정확한 표현 R2와 축약 R1⇝R2가 존재하는 것은 동치입니다.
정의 9 (HOR): 고차 표현은 구조 R=⟨T,E,∣∣=,⪯⟩이며, 여기서:
- E와 T는 집합 범주의 내함자
- ∣∣=:T⇀E는 우선형 관계
- ⪯:E⇀E는 자연 관계
- 각 집합 A에 대해, RA=⟨TA,EA,∣∣=A,⪯A⟩는 표현
Reg(A)를 알파벳 A 위의 정규 표현식 집합이라 하면, 자유 Kleene 대수는 정확한 표현을 생성합니다:
KA(A):=⟨A∗,Reg(A),∣=KA,≤KA⟩
여기서 w∣=KAe는 "w가 e와 연관된 유리 언어에 속한다"로 정의됩니다.
KAT의 완전성 증명에서 저자는 각 항 p를 KAT 동치 항 p^로 변환하여 보호 문자열 집합 G(p^)가 정규 표현식 해석 아래의 문자열 집합 R(p^)와 같도록 합니다. 이는 KAT 표현에서 KA 표현으로의 축약을 구성합니다.
SKA의 완전성 증명은 두 단계로 진행됩니다:
- 표현식 부분집합에 대한 완전성 확립
- 각 표현식이 이 부분 구문으로 변환될 수 있고 증명 가능한 동치성을 유지함을 증명
각 단계는 축약의 사례이며, 전체 증명은 단일 축약으로 이해될 수 있습니다.
논문은 Kleene 대수 확장의 여러 사례를 통해 이론 프레임워크의 유효성을 검증합니다:
- KAT 축약: ⟨^,id,1⟩은 KAT에서 KA로의 축약을 구성
- SKA 축약: 합성 축약 ⟨^,id,Π∗⟩이 완전성을 확립
- CKA 축약: 구문 폐포 함수 ↓를 통해 축약 구현
보조정리 1: 정의 4의 경우, 추가로 ≤2⊆≤1, ∣=2⊆∣=1이고 R2가 정확하면, 임의의 함수 ↓:E→E에 대해 다음이 동치입니다:
- ⟨↓,id,1⟩은 축약
- ↓는 구문 폐포
논문은 관계 HOR을 함자로 확장하는 방법을 보여줍니다:
- PreOrd→Repr: 전순서 집합 위의 자유 모노이드 처리
- Repr→Repr: 다른 표현으로 매개변수화된 표현 생성
제도도 동일한 구조에서 구문과 의미론 정보를 캡슐화하지만, 제도는 여러 추론 시스템을 포함하는 반면 표현은 하나의 추론 시스템을 포착하려고 합니다. 제도의 정의는 표현보다 더 엄격하며, 구문과 의미론 모두 범주 구조를 요구합니다.
Fahrenberg와 Legay에 의해 도입된 명세 이론은 구조 ⟨T,E,χ,≤⟩로 이해될 수 있으며, 여기서 χ:T→E는 추적을 그 특성 표현식으로 매핑합니다. ∣==χ∗;≤를 설정하여 표현으로 변환될 수 있으므로, 명세 이론은 표현의 특수한 경우입니다.
- 표현은 소프트웨어 분석 시스템을 모델링하기 위한 통용적이고 유연한 프레임워크를 제공합니다
- 축약 이론은 완전성 증명을 위한 구조화된 방법을 제공합니다
- 고차 표현은 매개변수화되고 모듈식인 시스템 구축을 가능하게 합니다
- 이 이론은 Kleene 대수 및 그 확장에서 효과적으로 검증되었습니다
- 메타 이론 선택: 현재 Set과 Rel 범주에 기반하지만, 더 일반적인 추상화가 존재할 수 있습니다
- 관계 대수 조각: "올바른" 관계 대수 조각을 결정해야 합니다
- 실제 응용: 실용성을 검증하기 위해 더 많은 구체적 검증 작업에 대한 응용이 필요합니다
- 형식적 검증: Rocq 증명 시스템에서 결과를 형식화
- 분류 연구: 유용한 표현 범주 식별
- 구체적 응용: 이론을 구체적 검증 작업에 적용
- 메타 이론 추상화: 정확한 요구사항을 포착하면서 추가 가정이 없는 추상 구조 정의
- 이론적 통일성: 다양한 소프트웨어 분석 시스템을 이해하기 위한 통일된 프레임워크 제공
- 완전성 초점: 어려운 문제인 완전성에 특별히 초점을 맞추고 체계적인 해결책 제공
- 모듈식 설계: 범주론 방법을 통해 모듈식 증명 및 구성 실현
- 풍부한 사례: Kleene 대수 확장의 여러 사례를 통해 이론의 적용 가능성 검증
- 수학적 엄밀성: 관계 대수와 범주론을 사용하여 엄격한 수학적 기초 제공
- 높은 추상화 수준: 이론 프레임워크가 상당히 추상적이어서 실제 응용의 직관성을 제한할 수 있습니다
- 사례의 한계: 주요 사례가 Kleene 대수 영역에 집중되어 있어 다른 영역의 적용 가능성은 아직 미검증
- 구현 세부사항 부족: 구체적 구현이나 도구 지원에 대한 논의 부재
- 성능 고려 사항 없음: 제안된 방법의 계산 복잡성 측면에 대한 논의 부재
- 이론적 기여: 형식적 방법 분야에 새로운 이론적 도구 제공
- 방법론적 가치: 향후 완전성 증명의 구조와 방법에 영향을 미칠 가능성
- 교차 분야 잠재력: 프레임워크의 통용성으로 인해 여러 검증 영역에 적용될 가능성
- 교육적 가치: 다양한 검증 시스템 간의 관계를 이해하기 위한 통일된 관점 제공
- 새로운 검증 시스템 개발: 새로운 소프트웨어 분석 시스템 개발에 이론적 지침 제공
- 완전성 증명: 논리 시스템의 완전성 확립을 위한 구조화된 방법 제공
- 시스템 비교 분석: 다양한 검증 프레임워크 비교를 위한 통일된 기초 제공
- 이론 연구: 형식적 방법의 이론 연구를 위한 새로운 도구 제공
논문은 관계 대수, 범주론, Kleene 대수 및 그 확장 등 여러 관련 분야의 고전 저작을 포함한 18개의 중요 문헌을 인용하여 이론 발전을 위한 견고한 기초를 제공합니다.