[논문 리뷰] Generating certified properties for numerical expressions and their evaluations
Gappa는 정확한 연산과 반올림 연산을 포함한 수치 표현식에 대해 형식적으로 검증된 경계를 자동으로 생성하는 도구입니다. 다중 정밀도 이진 분수를 사용하는 간격 산술과 정방향 오차 분석을 적용하여 Coq 또는 HOL Light에서 기계로 검증 가능한 증명을 생성하며, 높은 신뢰도로 수치 소프트웨어의 성질을 검증할 수 있도록 합니다.
Gappa uses interval arithmetic to certify bounds on mathematical expressions that involve rounded as well as exact operators. Gappa generates a theorem with its proof for each bound treated. The proof can be checked with a higher order logic automatic proof checker, either Coq or HOL Light, and we have developed a large companion library of verified facts for Coq dealing with the addition, multiplication, division, and square root, in fixed- and floating-point arithmetics. Gappa uses multiple-precision dyadic fractions for the endpoints of intervals and performs forward error analysis on rounded operators when necessary. When asked, Gappa reports the best bounds it is able to reach for a given expression in a given context. This feature is used to quickly obtain coarse bounds. It can also be used to identify where the set of facts and automatic techniques implemented in Gappa becomes insufficient. Gappa handles seamlessly additional properties expressed as interval properties or rewriting rules in order to establish more intricate bounds. Recent work showed that Gappa is perfectly suited to the proof of correctness of small pieces of software. Proof obligations can be written by designers, produced by third-party tools or obtained by overloading arithmetic operators.
연구 동기 및 목표
- 정확한 연산과 반올림 연산을 포함한 수학적 표현식에 대해 형식적으로 검증된 경계를 제공하기 위해.
- 고차원 논리 증명 검증기와 호환되는 기계로 검증 가능한 증명의 자동 생성을 위해.
- 검증된 오차 경계와 형식적 정리 생성을 통해 수치 소프트웨어 구성 요소의 검증을 지원하기 위해.
- 간격 제약 조건과 재작성 규칙을 통해 복잡한 수치 성질에 대한 지원을 확장하기 위해.
- 기존 형식 라이브러리의 한계를 폭 드러내어 현재 기술과 사실이 부족한 영역을 밝혀내기 위해.
제안 방법
- Gappa는 간격 끝점의 정확한 표현을 위해 다중 정밀도 이진 분수를 사용하는 간격 산술을 적용합니다.
- 반올림 연산자에 대해 정방향 오차 분석을 수행하여 부동소수점 계산에서 발생하는 수치 오차를 경계합니다.
- 각 검증된 경계에 대해 형식적 증명이 포함된 정리를 생성하며, 이는 Coq 또는 HOL Light에서 검증할 수 있습니다.
- 고정소수점 및 부동소수점 형식의 기본 산술 연산에 대한 검증된 사실을 담은 광범위한 Coq 동반 라이브러리를 통합합니다.
- 간격 제약 조건과 재작성 규칙을 통해 추가 성질을 지원하여 더 복잡한 경계를 유도합니다.
- 주어진 표현식에 대해 도달 가능한 가장 날카로운 경계를 보고하여 지식 기반의 격차를 진단하는 데 도움을 줍니다.
실험 결과
연구 질문
- RQ1정확한 연산과 반올림 연산을 포함한 수치 표현식을 기계로 검증 가능한 증명을 사용해 어떻게 형식적으로 경계할 수 있는가?
- RQ2간격 산술을 사용해 부동소수점 계산에서 신뢰할 수 있는 오차 분석을 위해 어떤 기법이 가능한가?
- RQ3고차원 논리 증명 검증기와의 호환성을 보장하면서도 형식적 증명 생성을 자동화하는 방법은 무엇인가?
- RQ4Gappa의 형식적 검증 기능을 어떻게 확장하여 복잡한 수치 성질을 지원할 수 있는가?
- RQ5도구가 내부 사실과 기법이 주어진 경계를 위해 부족할 때 이를 어떻게 식별할 수 있는가?
주요 결과
- Gappa는 간격 산술과 다중 정밀도 이진 분수를 사용하여 수치 표현식에 대해 형식적으로 검증된 경계를 성공적으로 생성합니다.
- 도구는 Coq 또는 HOL Light에서 기계로 검증 가능한 증명을 생성하여 수치 소프트웨어의 고신뢰도 검증을 가능하게 합니다.
- 고정소수점 및 부동소수점 연산을 위한 검증된 산술 사실의 포괄적인 Coq 라이브러리가 개발되고 통합되었습니다.
- 정방향 오차 분석이 반올림 연산자에 효과적으로 적용되어 계산에서 발생하는 수치 오차를 경계하는 데 성공했습니다.
- Gappa는 가능한 최고의 경계를 보고하여 자신의 추론 한계를 식별하며, 지식 기반의 격차를 드러냅니다.
- 복잡한 성질을 위한 간격 제약 조건과 재작성 규칙을 통해 경계의 원활한 확장을 지원합니다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.