본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 05. 25. 13:24

MISRust: MISRA-C++ 코딩 가이드라인을 Rust 프로그래밍 언어로 매핑하기

요약

본 논문은 MISRA-C++ 2023 코딩 가이드라인을 Rust 언어에 체계적으로 매핑하는 MISRust 연구를 소개합니다. Rust의 언어 설계가 기존 안전 규칙을 어떻게 자동으로 충족하는지 분석하고, unsafe Rust 사용 시 필요한 가이드라인을 제안합니다.

핵심 포인트

  • MISRA-C++ 2023 규칙 179개를 Rust 맥락에서 6개 범주로 분류
  • 적용 가능한 규칙 중 47.75%는 Rust 언어 설계로 자동 강제됨
  • Safe Rust 사용 시 36개의 규칙이 자동으로 충족됨을 확인
  • Unsafe Rust 사용 시 필요한 명시적 가이드라인 및 Rust 전용 방안 제안

Rust 프로그래밍 언어는 안전 필수 시스템 (safety-critical system) 개발을 위해 점점 더 많이 고려되고 있습니다. 그러나 ISO 26262와 같이 확립된 안전 표준은 아직 Rust를 위해 존재하지 않는 코딩 가이드라인의 사용을 요구합니다. 본 논문은 179개의 MISRA C++ 2023 코딩 가이드라인 각각을 체계적으로 검토하고, Rust에 대한 적용 가능성에 따라 6가지 범주로 분류합니다. 우리의 접근 방식은 각 MISRA 규칙 뒤에 숨겨진 근거를 분석하여, 해당 규칙이 Rust 프로그래밍 맥락에서도 여전히 유효한지 결정합니다. 분석 결과, 그대로 적용 가능한 111개의 MISRA 규칙 중 47.75%는 Rust의 언어 설계에 의해 자동으로 강제되어, 명시적인 가이드라인 준수를 요구하지 않는다는 것을 발견했습니다. 또한, 우리의 분석은 안전한 Rust (safe Rust)와 안전하지 않은 Rust (unsafe Rust)를 명확하게 구분합니다. 우리는 69개의 가이드라인이 여전히 관련성이 있으며, Rust를 위해 직접 적용하거나 적응시켜야 함을 발견했습니다. 중요한 점은, 이 규칙들 중 36개는 Rust 언어의 안전한 서브셋 (safe subset)만 사용할 경우 자동으로 충족된다는 것입니다. 그러나 unsafe Rust 기능이 도입되면 이 규칙들이 다시 요구됩니다. 우리는 또한 새로운 Rust 전용 가이드라인이 필요한 특정 영역을 식별했습니다. 가이드라인이 직접적으로 변환되지 않는 경우, 그 의도를 보존하는 Rust 전용 적응 방안을 제안합니다. 모든 매핑 결과와 지원 아티팩트는 https://github.com/embedded-software-laboratory/MISRust 에서 오픈 소스 자료로 공개되어 있습니다.

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0