Core Concepts
본 논문은 불리언 연산자와 분리 연산자를 임의로 중첩할 수 있는 분리 논리의 새로운 결정 절차를 제시한다. 이 절차는 가장 일반적인 연결 리스트 변형에 대한 지원을 포함한다.
Abstract
이 논문은 불리언 분리 논리(BSL)라고 불리는 분리 논리의 새로운 결정 절차를 제시한다. BSL은 분리 연산자와 불리언 연산자(conjunction, disjunction, guarded negation)의 임의 중첩을 허용한다. 이는 기존 결정 절차가 지원하지 않는 매우 강력한 논리 프래그먼트이다.
논문의 주요 내용은 다음과 같다:
모델 기반 SMT 변환 기법을 제안한다. 이 기법의 핵심은 더 작은 모델 크기를 통해 분리 논리 공식을 더 효율적으로 인코딩하는 것이다.
단일 연결 리스트(SLL), 이중 연결 리스트(DLL), 중첩 단일 연결 리스트(NLL)와 같은 가장 일반적인 연결 리스트 변형에 대한 지원을 제공한다.
실험을 통해 제안된 결정 절차가 기존 접근법과 경쟁력이 있으며, 특히 심볼릭 힙 프래그먼트 외부에서 더 나은 성능을 보인다는 것을 보여준다.
이전에 결정 절차가 구현되지 않았던 일부 공식도 처리할 수 있다.
Stats
분리 논리는 동적으로 할당된 메모리를 다루는 프로그램에 대한 추론에 널리 사용되는 형식론이다.
분리 논리의 높은 표현력은 여러 기능이 결합될 때 복잡성과 결정 불가능성을 초래한다.
기존 결정 절차는 일반적으로 불리언 구조의 공간 단언을 허용하지 않는 심볼릭 힙 프래그먼트로 제한된다.
Quotes
"본 논문은 불리언 분리 논리(BSL)라고 불리는 분리 논리의 새로운 결정 절차를 제시한다. BSL은 분리 연산자와 불리언 연산자(conjunction, disjunction, guarded negation)의 임의 중첩을 허용한다."
"이는 기존 결정 절차가 지원하지 않는 매우 강력한 논리 프래그먼트이다."