Skip to main content
QUICK REVIEW

[논문 리뷰] foetus -- Termination Checker for Simple Functional Programs

Andreas Abel|arXiv (Cornell University)|2024. 07. 09.
Formal Methods in Verification참고 문헌 7인용 수 16
한 줄 요약

foetus는 튜플, 생성자, 패턴 매칭이 있는 간단한 함수형 언어에 대한 종료 검사기를 제공하며, 호출을 추출하고 호출 그래프를 완성하며 함수 매개변수의 어휘적 종료 순서를 찾는다.

ABSTRACT

We introduce a simple functional language foetus (lambda calculus with tuples, constructors and pattern matching) supplied with a termination checker. This checker tries to find a well-founded structural order on the parameters on the given function to prove termination. The components of the check algorithm are: function call extraction out of the program text, call graph completion and finding a lexical order for the function parameters.

연구 동기 및 목표

  • 간단한 함수형 언어(foetus)에 대한 종료 문제를 동기 부여하고 형식화한다.
  • 함수 매개변수에 대한 잘 정해진 순서에 기초한 종료 검사기를 개발한다.
  • 상호 재귀를 호출 그래프와 그 완성을 통해 다룬다.
  • 종료 동작을 설명하는 예제와 함께 실용적인 프로토타입을 제공한다.

제안 방법

  • 프로그램 텍스트에서 직접 및 간접 함수 호출을 추출하여 호출 그래프를 구성한다.
  • 전이적 호출을 포착하기 위해 간선을 구성하여 호출 그래프를 완성한다.
  • 모든 재귀 호출에서 감소하는 함수 매개변수의 어휘적(순열) 종료 순서를 탐색한다.
  • 종료를 추론하기 위해 호출 행렬과 완성 프로세스를 사용하여 접근법을 형식화한다.
  • 대표적 foetus 프로그램들(예: add, mult, sub, ack, fib)에서 종료 판단을 시연한다.
  • 종료를 확립할 수 없거나 검사기가 비종료를 보고하는 한계 및 특수 사례를 설명한다.

실험 결과

연구 질문

  • RQ1foetus 함수의 종료를 매개변수의 구조적 순서를 사용하여 어떻게 결정할 수 있는가?
  • RQ2재귀 호출을 포착하기 위해 호출자-피호출자 관계를 어떻게 표현하고 완성할 수 있는가?
  • RQ3주어진 함수의 재귀에 대해 종료를 보장하는 종료 순서(순열)는 무엇인가?
  • RQ4복잡하거나 상호 재귀적인 정의에 직면했을 때 종료 검사기의 한계는 무엇인가?
  • RQ5구체적 예제들은 이 접근법의 가능성 및 한계를 어떻게 반영하는가?

주요 결과

  • 종속 종료 검사기는 매개변수에 대한 어휘적 순서를 제시함으로써 여러 표준 재귀 정의(예: 덧셈, 곱셈)에 대해 종료를 증명한다.
  • Ackermann 계열 재귀 및 특정 리스트 처리 함수(map, foldl, reverse)와 같은 경우의 종료를 증명할 수 있다.
  • 호출 그래프 완성 후 어휘 순서를 만족하지 않는 특정 상호 재귀 같은 예제에서 비종료를 식별한다.
  • 나눗셈 관련 예제들은 종료가 보조 증명에 의존할 수 있음을 보여준다; 보조 함수(div’)의 종료가 실패하면 외부 나눗셈 함수 역시 검사기에 의해 비종료로 간주된다.
  • 이 접근법은 다양한 프로그램에 걸쳐 시연되며 종료 및 비종료 사례와 호출 그래프 완성이 판단에 어떻게 영향을 미치는지 강조한다.
  • 구현된 검사기는 호출 그래프의 유한한 완성과 순열 기반 종료 순서에 의존하여 결론에 도달한다.

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

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

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

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