Skip to main content
QUICK REVIEW

[논문 리뷰] Trace Logic for Inductive Loop Reasoning

Pamina Georgiou, Bernhard Gleiss|arXiv (Cornell University)|2020. 08. 04.
Formal Methods in Verification참고 문헌 28인용 수 5
한 줄 요약

이 논문은 추적 논리(trace logic)를 소개한다. 추적 논리는 다수의 종류를 가진 일阶 논리 프레임워크로, 프로그램 변수를 시간점과 루프 반복 횟수의 함수로 모델링하여 안전성 검증을 위한 자동 인도적 루프 추론을 가능하게 한다. 프로그램 의미를 추적 논리에 인코딩하고, 초월성 있는 추적 보조정리(trace lemmas)를 사용하여 초월성 기반 정리 증명을 이끌어내어, 배열과 정수에서의 양자화자 교환을 포함한 복잡한 일阶 성질에 대해 완전 자동으로 검증을 수행한다. 이는 이전에 SMT 기반 도구로는 해결이 어려웠던 SV-COMP의 100개 이상의 벤치마크를 성공적으로 검증하는 데 성공했다.

ABSTRACT

We propose trace logic, an instance of many-sorted first-order logic, to automate the partial correctness verification of programs containing loops. Trace logic generalizes semantics of program locations and captures loop semantics by encoding properties at arbitrary timepoints and loop iterations. We guide and automate inductive loop reasoning in trace logic by using generic trace lemmas capturing inductive loop invariants. Our work is implemented in the RAPID framework, by extending and integrating superposition-based first-order reasoning within RAPID. We successfully used RAPID to prove correctness of many programs whose functional behavior are best summarized in the first-order theories of linear integer arithmetic, arrays and inductive data types.

연구 동기 및 목표

  • 배열과 인도적 타입과 같은 무한 데이터 구조를 가진 루프에 대한 인도적 추론을 자동화하는 데 도전하는 것.
  • 변수 값이 시간점과 루프 반복 횟수의 함수로 모델링되어 반복 횟수에 대한 임의의 양자화를 가능하게 함으로써 프로그램 의미를 일반화하는 것.
  • 유한 인도 기반 추적 보조정리를 바탕으로 한 안정성 있는 인variant 발견과 안전성 검증을 자동화하는 것.
  • SMT 솔버가 다루지 못하는 복잡한 성질을 보완하기 위해 일阶 초월성 기반 추론을 형식적 검증에 통합하는 것.
  • 실제 벤치마크를 대상으로 한 방법의 구현 및 평가를 통해 기존의 SMT 기반 및 변환 기반 방법보다 뛰어난 성능을 보여주는 것.

제안 방법

  • 실행 시간점과 루프 반복 횟수의 함수로 프로그램 위치를 다루는 다수 종류의 일阶 논리인 추적 논리를 제안한다.
  • 호어 논리에 대해 타당성과 완전성을 보장하는 비재귀적이고 완전한 프로그램 의미의 공리 체계를 정의한다.
  • 유한 인도를 통해 인도적 루프 인variant를 포괄하는 세 가지 일반적인 추적 보조정리를 도입하여 유도된 인variant의 타당성을 보장한다.
  • 추적 논리 성질을 지원하도록 바이퍼(Vampire) 일阶 정리 증명기를 확장하고, 이를 Rapid 프레임워크에 통합한다.
  • 추적 보조정리와 프로그램 공리의 논리적 결과로서 자동으로 루프 인variant를 도출하기 위해 추적 논리 위에서 초월성 기반 추론을 사용한다.
  • 배열과 정수에 대한 존재 및 전칭 양자화자 교환을 포함한 복잡한 안전성 성질을 표현하기 위해 프로그램과 진술을 추적 논리로 인코딩한다.

실험 결과

연구 질문

  • RQ1일阶 정리 증명이 안전성 검증을 위한 인도적 루프 추론을 효과적으로 자동화하는 데 사용될 수 있는가?
  • RQ2추적 논리는 루프 반복 횟수와 시간점에 대한 임의의 양자화를 지원하여 복잡한 배열 및 정수 성질을 표현할 수 있는가?
  • RQ3유한 인도 기반 추적 보조정리는 무한 데이터 구조를 가진 프로그램의 인도적 인variant 발견을 신뢰성 있게 이끌 수 있는가?
  • RQ4추적 논리에서의 초월성 기반 추론은 SMT 솔버로는 결정 불가능하거나 해결이 어려운 성질을 검증할 수 있는가?
  • RQ5Rapid에 추적 논리를 통합함으로써 기존 도구가 실패하는 복잡한 양자화 진술을 가진 벤치마크의 자동 검증이 가능해지는가?

주요 결과

  • 저자들은 SV-COMP 레포지터리의 100개 이상의 벤치마크를 성공적으로 검증했으며, 배열과 정수에서의 양자화자 교환을 포함한 복잡한 안전성 성질을 검증했다.
  • 이전 유사 프레임워크를 사용한 연구에서 증명이 불가능했던, 한 배열에서 양수 요소를 다른 배열로 복사하는 프로그램의 정확성을 이 방법이 증명했다.
  • 추적 논리의 비재귀적 공리 체계는 호어 논리에 대해 타당성과 완전성을 모두 보장하여 형식적 검증의 견고한 기반을 제공한다.
  • 세 가지 추적 보조정리는 타당성이 있으며, 초월성 추론을 통해 안전성 진술을 증명하기 위해 필요한 인variant의 자동 발견을 가능하게 한다.
  • Rapid 프레임워크 내에서 바이퍼 정리 증명기와 추적 논리를 통합함으로써, 현재의 SMT 솔버와 변환 기반 도구가 다루지 못하는 성질의 완전 자동 검증이 가능해졌다.
  • 이 방법은 특히 무한 데이터 구조에 대한 존재 및 전칭 양자화된 성질을 다루는 데 있어 기존 접근법을 뛰어넘는 확장성과 표현력을 보여주었다.

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

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

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

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