Skip to main content
QUICK REVIEW

[논문 리뷰] Higher-order Program Verification as Satisfiability Modulo Theories with Algebraic Data-types

Nikolaj Bjørner, Kenneth L. McMillan|arXiv (Cornell University)|2013. 06. 21.
Logic, programming, and type systems참고 문헌 4인용 수 15
한 줄 요약

이 논문은 대수적 데이터형과 재귀적 술어를 지원하는 SMT-LIB를 확장하여 고차수 프로그램 검증을 가능하게 하여, 기호 소프트웨어 모델 체킹 벤치마크를 표준화된 SMT 솔버를 사용해 교환하고 검증할 수 있도록 제안한다. 주요 기여는 모델링 및 논리 개발을 제약 솔버 알고리즘에서 분리하는 프레임워크를 제공하여 형식 검증 도구에서의 모듈성과 재사용성을 향상시키는 것이다.

ABSTRACT

A key driver of SMT over the past decade has been an interchange format, SMT-LIB, and a growing set of benchmarks sharing this common format. SMT-LIB captures very well an interface that is suitable for many tasks that reduce to solving first-order formulas modulo theories. Here we propose to extend these benefits into the domain of symbolic software model checking. We make a case that SMT-LIB can be used, and to a limited extent adapted, for exchanging symbolic software model checking benchmarks. We believe this layer facilitates dividing innovations in modeling, developing program logics and front-ends, from developing algorithms for solving constraints over recursive predicates. 1 SMT and checking properties of recursive predicates Progress in modern SMT solvers has been driven by a large set of applications in diverse areas. Ap-plications reduce problems to common first-order formats, SMT-LIB [5] and now also the THF [13] format in TPTP, for exchanging benchmarks. They benefit from the progress in automated deduction in SMT solvers and utilize the smorgasbord of theories that are supported with efficient and dedicated solvers. Common to SMT solvers is their support for simply typed first-order classical logic augmented

연구 동기 및 목표

  • 재귀적 술어와 대수적 데이터형을 포함한 기호 소프트웨어 모델 체킹 벤치마크를 지원하기 위해 SMT-LIB를 확장하는 것.
  • 고차수 검증을 위한 인터페이스를 표준화하여 프로그램 논리, 프론트엔드, SMT 솔버 간의 상호운용성을 보장하는 것.
  • 프로그램 논리 모델링 및 프론트엔드 개발의 혁신을 저수준 제약 솔버 알고리즘에서 분리하는 것.
  • SMT-LIB 생태계와 효율적인 솔버를 재사용하여 고차수 추론을 위한 진전을 촉진하는 것.

제안 방법

  • 고차수 추론을 지원하기 위해 대수적 데이터형과 재귀적 술어의 문법 및 의미 체계를 SMT-LIB에 추가하는 것.
  • 논리적 동치성을 유지하는 인코딩 기법을 사용하여 고차수 프로그램 검증 문제를 일阶 SMT 공식으로 매핑하는 것.
  • 재귀적 술어 제약 조건을 SMT-LIB의 이론 지원에 호환되는 형태로 변환하여 기존 SMT 솔버를 활용하는 것.
  • 프로그램 논리와 프론트엔드가 SMT-LIB 형식의 제약 조건을 생성하도록 하는 모듈러 아키텍처를 도입하여 솔버의 구현에서 분리하는 것.
  • 단순 타입이 부여된 일阶 고전적 논리 기반을 사용하며, 재귀적 데이터 및 술어 지원을 추가하는 것.
  • 다양한 검증 도구와 솔버를 통합하기 위해 공통의 교환 형식을 사용하여 벤치마크 공유와 재현 가능성을 증진하는 것.

실험 결과

연구 질문

  • RQ1SMT-LIB는 재귀적 술어와 대수적 데이터형을 포함한 기호 소프트웨어 모델 체킹 벤치마크를 표현하고 교환할 수 있도록 확장될 수 있는가?
  • RQ2표현력과 효율성을 유지하면서 고차수 프로그램 검증을 만족하는 이론에 대한 만족 가능성 문제로 환원할 수 있는가?
  • RQ3표준화된 인코딩을 통해 기존 SMT 솔버가 고차수 검증에 효과적으로 재사용될 수 있는 정도는 어느 정도인가?
  • RQ4일阶 논리를 초월한 기호 모델 체킹을 위해 SMT-LIB에 필요한 아키텍처 및 문법 확장은 무엇인가?
  • RQ5공통의 벤치마크 형식을 사용하여 프로그램 논리 설계와 제약 솔빙 간의 책임 분리를 어떻게 달성할 수 있는가?

주요 결과

  • 논문은 대수적 데이터형과 재귀적 술어를 지원하도록 SMT-LIB를 성공적으로 확장하여 고차수 프로그램 검증 문제의 표현을 가능하게 하였다.
  • 제안된 확장은 기호 소프트웨어 모델 체킹 벤치마크를 표준 형식으로 교환할 수 있게 하여 재현 가능성과 도구 간 상호운용성을 향상시켰다.
  • 프레임워크는 논리 개발 및 프론트엔드 설계를 제약 솔버 알고리즘에서 분리하여 모듈러한 혁신을 가능하게 하였다.
  • 적절하게 확장된 SMT-LIB 형식으로 제약 조건을 인코딩할 경우 기존 SMT 솔버를 고차수 검증에 효과적으로 재사용할 수 있었다.
  • 이 방법은 재귀적 데이터 구조와 술어에 대한 추론을 위해 SMT-LIB의 풍부한 이론 및 솔버 생태계를 활용할 수 있게 하였다.
  • 이 작업은 SMT-LIB가 일阶 문제에서 성취한 바와 유사하게 고차수 프로그램 검증 분야에서의 벤치마크 공유와 도구 비교를 위한 기반을 마련하였다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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