Skip to main content
QUICK REVIEW

[논문 리뷰] Scheduling Constraint Based Abstraction Refinement for Multi-Threaded Program Verification

Liangze Yin, Wei Dong|arXiv (Cornell University)|2017. 08. 22.
Formal Methods in Verification참고 문헌 22인용 수 6
한 줄 요약

이 논문은 다중 스레드 프로그램 검증을 위한 스케줄링 제약 기반 추상화 정밀화 방법을 제안하며, 유한 모델 체크링(BMC)에서 스레드 인터리빙을 복잡하게 인코딩하는 것을 피한다. 처음에는 스케줄링 제약를 무시하고 추상화를 수행하고, 반례가 비가능한 경우에만 이벤트 순서 그래프 기반 알고리즘을 사용해 정밀화함으로써 성능 향상을 크게 달성한다. 이는 공식 크기가 8배 작고 검증 시간이 더 빠른 방식으로, SV-COMP 2017 벤치마크에서 최신 기술 도구들을 능가한다.

ABSTRACT

Bounded model checking is among the most efficient techniques for the automatic verification of concurrent programs. However, encoding all possible interleavings often requires a huge and complex formula, which significantly limits the salability. This paper proposes a novel and efficient abstraction refinement method for multi-threaded program verification. Observing that the huge formula is usually dominated by the exact encoding of the scheduling constraint, this paper proposes a sc based abstraction refinement method, which avoids the huge and complex encoding of BMC. In addition, to obtain an effective refinement, we have devised two graph-based algorithms over event order graph for counterexample validation and refinement generation, which can always obtain a small yet effective refinement constraint. Enhanced by two constraint-based algorithms for counterexample validation and refinement generation, we have proved that our method is sound and complete w.r.t. the given loop unwinding depth. Experimental results on \svcompc benchmarks indicate that our method is promising and significantly outperforms the existing state-of-the-art tools.

연구 동기 및 목표

  • 스레드 인터리빙의 복잡한 스케줄링 제약 인코딩으로 인해 발생하는 다중 스레드 프로그램에 대한 유한 모델 체크링(BMC)의 확장성 문제를 해결하기 위해.
  • 초기 단계에서 스케줄링 제약를 무시함으로써 BMC 공식의 크기와 복잡성을 줄이기 위해.
  • 반례를 검증하고 효과적인 정밀화 제약를 생성하기 위한 효율적인 그래프 기반 알고리즘 개발을 위해.
  • 주어진 루프 전개 깊이에 대해 검증 과정의 타당성과 완전성을 보장하기 위해.
  • 실제 다중 스레드 프로그램 검증 벤치마크에서 기존 도구들을 능가하기 위해.

제안 방법

  • 이 방법은 스케줄링 제약를 무시함으로써 프로그램의 과잉 근사화로 시작하며, 이는 시계 변수로 인해 일반적으로 세제곱 크기의 복잡성을 가진다.
  • 스레드 인터리빙을 표현하고 반례 타당성을 분석하기 위해 이벤트 순서 그래프(EOG)를 사용한다.
  • 반례가 비가능한지 확인하기 위해 그래프 기반 알고리즘을 사용하여 비가능성의 핵심 핵심 원인을 식별한다.
  • 거짓 반례를 제거하기 위해 최소화되고 효과적인 제약을 생성하는 제약 기반 정밀화 생성 과정을 사용한다.
  • 정밀화 과정은 EOG에서 비가능성 원인을 식별함으로써 수행되며, 이는 추상화 성장의 최소화를 보장한다.
  • 이 접근법은 주어진 루프 전개 깊이에 대해 형식적으로 타당성과 완전성을 증명하였다.

실험 결과

연구 질문

  • RQ1BMC에서 스케줄링 제약를 추상화함으로써 다중 스레드 프로그램에 대한 공식 크기와 확장성을 크게 줄일 수 있는가?
  • RQ2이벤트 순서 그래프 기반 분석이 다중 스레드 프로그램에서 비가능한 반례를 효과적으로 식별할 수 있는가?
  • RQ3제약 기반 정밀화가 거짓 반례를 효율적으로 제거하기 위해 최소이면서도 효과적인 제약을 생성할 수 있는가?
  • RQ4제안된 방법이 기존 최신 기술 도구보다 검증 성능과 자원 사용 측면에서 뛰어나게 성능을 냈는가?
  • RQ5스케줄링 제약 인코딩의 복잡성을 줄이면서도 타당성과 완전성을 유지할 수 있는가?

주요 결과

  • 제안된 방법은 스케줄링 제약의 정확한 인코딩 대비 평균 공식 크기를 원래 크기의 1/8로 줄였다.
  • 이 도구는 1550초 이내, 43GB 메모리로 SV-COMP 2017 동시성 벤치마크를 모두 검증했으며, Lazy-CSeq-Abs는 9820초와 104GB를 필요로 했다.
  • 모든 벤치마크를 수십 번의 정밀화 반복만으로 성공적으로 검증하여 효율적인 수렴을 보였다.
  • 정밀화 과정에서 추상화의 크기 증가는 初기 추상화 대비 극히 미미하여 낮은 오버헤드를 보였다.
  • 그래프 기반 EOG 검증 방법은 대부분의 경우 비가능성을 성공적으로 탐지했으며, 희귀한 예외는 제약 기반 검증이 필요했다.
  • 이 도구는 SV-COMP 2017의 동시성 트랙에서 금메달을 획득하여 실용적 우수성을 확인했다.

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

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

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

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