Skip to main content
QUICK REVIEW

[논문 리뷰] A Monadic Framework for Relational Verification (Functional Pearl).

Niklas Grimm, Kenji Maillard|arXiv (Cornell University)|2017. 02. 28.
Security and Verification in Computing인용 수 1
한 줄 요약

이 논문은 효과를 가진 프로그램의 상관관계 성질을 검증하기 위해 F*에서 단항 프레임워크를 제시한다. 계산을 모나드로 모델링하고, SMT 기반 자동화, 사용자 정의 효과, 모나드 재현을 활용함으로써, 정보 유출 제어, 프로그램 동치성, 암호 보안과 같은 상관관계 성질을 단일 검증과 비슷한 추가 노력으로 검증할 수 있음을 보여준다.

ABSTRACT

Relational properties describe multiple runs of one or more programs. They characterize many useful notions of security, program refinement, and equivalence for programs with diverse computational effects, and they have received much attention in the recent literature. Rather than developing separate tools for special classes of effects and relational properties, we advocate using a general purpose proof assistant as a unifying framework for the relational verification of effectful programs. The essence of our approach is to model effectful computations using monads and to prove relational properties on their monadic representations, making the most of existing support for reasoning about pure programs. We apply this method in F* and evaluate it by encoding a variety of relational program analyses, including information flow control, program equivalence and refinement at higher order, correctness of program optimizations and game-based cryptographic security. By relying on SMT-based automation, unary weakest preconditions, user-defined effects, and monadic reification, we show that, compared to unary properties, verifying relational properties requires little additional effort from the F* programmer.

연구 동기 및 목표

  • 효과를 가진 프로그램 간 다양한 상관관계 성질의 검증을 통합하기 위해.
  • 각 유형의 상관관계 성질과 효과를 위한 전용 도구를 구축하는 데 드는 엔지니어링 노력의 감소를 위해.
  • 순수한 프로그램 추론을 위한 기존의 증명 보조 도구 지원을 활용하여 효과를 가진 상관관계 프로그램을 검증하기 위해.
  • 정보 유출, 프로그램 동치성, 암호 보안과 같은 다양한 실용적 분석에 프레임워크를 평가하기 위해.
  • 모나드 추상화와 SMT 자동화를 사용할 경우 상관관계 검증이 단일 검증만큼 경량화될 수 있음을 입증하기 위해.

제안 방법

  • 계산의 효과를 체계적으로 봉인하는 방식으로 효과를 가진 계산을 모나드로 모델링하기 위해.
  • 두 계산의 쌍에 대한 모나드 조건부로 상관관계 성질을 표현하기 위해.
  • 상관관계 추론에서 발생하는 증명 의무를 해결하기 위해 SMT 기반 자동화를 사용하기 위해.
  • F*에서 사용자 정의 효과를 활용하여 특정 계산 행동을 정확히 포현하고 추론하기 위해.
  • 상관관계 사양을 타입 시스템에 직접 통합하여 도구 지원을 향상시키기 위해 모나드 재현을 적용하기 위해.
  • 프로그램 동치성, 정밀화, 보안과 같은 상관관계 분석을 F*에서의 모나드 증명으로 인코딩하기 위해.

실험 결과

연구 질문

  • RQ1일반적인 증명 보조 도구인 F*가 효과를 가진 프로그램에서 다양한 상관관계 성질을 효과적으로 검증하는 데 사용될 수 있는가?
  • RQ2모나드를 통해 효과를 모델링할 경우 상관관계 성질 검증의 복잡성이 얼마나 감소하는가?
  • RQ3SMT 기반 자동화와 사용자 정의 효과의 통합이 상관관계 검증의 실용성에 어떤 영향을 미치는가?
  • RQ4모나드 추상화를 사용하여 상관관계 검증을 단일 검증만큼 경량화할 수 있는가?
  • RQ5정보 유출, 프로그램 동치성, 암호 보안과 같은 다양한 분석에 대해 이 프레임워크는 얼마나 잘 스케일링되는가?

주요 결과

  • SMT 자동화와 모나드 추상화 덕분에, 이 모나드 프레임워크는 단일 검증과 비슷한 노력으로 상관관계 성질을 검증할 수 있다.
  • F*에서의 사용자 정의 효과는 계산 행동을 정확히 모델링할 수 있게 하여 상관관계 증명의 모듈성과 표현력을 향상시킨다.
  • 모나드 재현은 상관관계 사양을 타입 시스템에 직접 통합하여 도구 지원과 검증 지원을 향상시킨다.
  • 이 프레임워크는 고차원 프로그램 동치성과 게임 기반 암호 보안과 같은 복잡한 분석을 성공적으로 인코딩한다.
  • 이 방법을 사용할 경우, 순수한 단일 성질을 검증하는 것과 비교해 프로그래머가 추가로 들이는 노력이 거의 없다.
  • 이 방법은 정보 유출 제어와 프로그램 최적화의 정확성과 같은 다양한 도메인으로 잘 스케일링된다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.