Caramel LabCaramel Lab
#

페트리 넷

1편의 한국어 분석 — 최신순으로 정렬했어요

컴퓨터 과학발표 2026.10· 0

Rust 동시성 버그 검출 페트리 넷 기법

Rust는 소유권 및 생명주기 시스템을 통해 메모리 안전성을 보장하지만, 동시성 버그는 여전히 발생합니다. 기존 정적 분석기는 문맥 무감각성과 높은 오탐율 문제를 겪으며, 동적 분석기는 기하급수적인 경로 탐색으로 인해 막대한 런타임 비용을 초래하는 한계가 있습니다. 본 연구는 Rust 프로그램의 동시성 버그를 자동으로 탐지하기 위한 페트리 넷 기반의 새로운 방법을 제안합니다. 이 방법은 Rust 컴파일러의 MIR(Mid-level Intermediate Representation)을 활용하며, 세 가지 핵심 요소로 구성됩니다. 첫째, 특정 버그 클래스에 맞춰 구문 기반으로 프로그램을 페트리 넷으로 변환합니다. 둘째, 문맥 인지 슬라이싱을 통해 증거 보존 상태 압축을 수행합니다. 셋째, 효율적인 페트리 넷 도달 가능성 분석을 통해 버그를 탐지합니다. 특히, Rust의 동기화 기본 요소와 소유권 관련 자원 생명주기를 제어 흐름 기반으로 모델링하고, 동시성 관련 작업을 토큰 이동으로 표현하는 것이 핵심 혁신입니다. 통합된 포인터 분석은 변환 과정에서 별칭 식별을 자동화합니다. Rust 동시성 벤치마크 실험 결과, 제안된 분석 방법은 LockBud 대비 정밀도를 향상시키고 Miri 대비 경로 커버리지 또는 런타임 성능을 개선했습니다. LockBud와 비교하여 흐름 민감 별칭 인지 자원 바인딩을 통해 오탐율을 35.7%, 미탐율을 28.3% 감소시켰습니다. 동적 분석 도구인 Miri와 비교했을 때, 본 연구의 도달 가능성 기반 방법은 반복적인 스케줄 실행을 피하여 여러 벤치마크 사례에서 훨씬 빠른 성능을 보였습니다. 이 연구는 Rust 프로그램의 동시성 버그 탐지 효율성과 정확성을 크게 향상시킬 수 있는 실용적인 접근 방식을 제시합니다. 제안된 방법은 Rust 개발자들이 보다 견고하고 안정적인 동시성 프로그램을 구축하는 데 기여할 것으로 기대됩니다.

연구 트렌드로 돌아가기