본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 06. 26. 11:03

목적 인지 프로그래밍을 위한 타입스테이트 (Typestate) 접근 방식

요약

민감한 데이터가 의도된 목적에 맞게 사용되는지 검증하기 위해 타입스테이트(Typestate)를 활용하는 새로운 접근 방식을 제안합니다. 데이터의 상태를 목적의 집합으로 정의하며, 이를 지원하는 객체 지향 언어 PurPL과 타입 체커를 개발하여 실험했습니다.

핵심 포인트

  • 타입스테이트를 통한 데이터 사용 목적의 컴파일 타임 검증
  • 데이터 상태를 오토마타 스타일의 상태 전이로 정의
  • 목적의 동적 추가 및 제거를 지원하는 타입 시스템
  • 새로운 프로그래밍 언어 PurPL 개발 및 타입 체커 구현

실제 애플리케이션에서는 민감한 데이터가 의도된 목적에 맞게 사용되고 있는지에 대한 검증이 필요한 경우가 많습니다. 그러나 기존 문헌에서는 이 분야의 컴파일 타임 보장 (compile-time guarantees)에 관한 결과가 제한적입니다. 본 논문에서는 데이터의 목적을 추론하기 위해 타입스테이트 (typestate)를 사용하는 방법을 탐구합니다. 타입스테이트에서 타입은 상태를 가지며, 이는 오토마타 (automata) 스타일로 다른 상태로 전이될 수 있습니다. 우리의 접근 방식에서는 민감한 데이터 타입의 상태를 해당 데이터가 사용될 수 있는 목적들의 집합으로 정의합니다. 이 집합은 실행 중에 목적이 추가되거나 제거될 수 있으므로 런타임 (runtime)에 커지거나 작아질 수 있습니다. 본 논문에서는 목적과 그에 따른 데이터 사용 준수 여부를 추론할 수 있는 타입스테이트 시스템을 특징으로 하는 객체 지향 프로그래밍 언어인 PurPL을 개발했습니다. 우리는 예제를 통해 PurPL의 개요를 제공하고 공식적인 타입 시스템 (type system)을 제시합니다. 또한 PurPL의 타입 체커 (type checker)를 구현하였으며, 민감한 데이터를 다루는 다양한 프로그래밍 시나리오를 타입 체킹한 실험 결과를 보고합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0