Volvo Cars, Rust로 안전하고 효율적인 자동차 소프트웨어 개발!
러스트(Rust)를 활용하여 Volvo Cars의 전자 제어 장치(ECU)를 개발, 메모리 안전성 문제를 해결하고 생산성을 향상시킴
C/C++의 메모리 안전성 문제를 해결하기 위해 러스트(Rust)를 선택, 70%에 달하는 메모리 관련 취약점 감소를 목표로 함
Rust의 안전성, 생산성, 개발자 만족도 향상 효과를 강조하며, 2~4배의 생산성 향상과 50%의 인증 노력 감소를 언급함
2024년 Polestar 3 출시를 통해 실제 차량에 러스트(Rust) 기반 소프트웨어를 적용, 안전성과 보안성을 입증함
러스트(Rust) 도입 배경: 메모리 안전성 확보
발표자는 Volvo Cars에서 C/C++ 기반의 소프트웨어 개발 시 메모리 관련 버그(Memory Bug)로 인한 어려움을 겪었다고 설명한다. 메모리 안전성(Memory Safety)을 확보하기 위해 러스트(Rust)를 선택했으며, Microsoft의 연구 결과를 인용하여 C/C++ 프로젝트에서 70%가 메모리 관련 취약점임을 강조한다. 발표자는 러스트(Rust)를 통해 이러한 문제를 해결하고자 했다.
저전력 프로세서(Low Power Processor) 팀의 러스트(Rust) 활용
발표자는 저전력 프로세서 팀에서 러스트(Rust)를 활용하여 전자 제어 장치(ECU, Electronic Control Unit)를 개발한 과정을 설명한다. 기존의 CAN/LIN 통신을 통해 연결된 ECU를 이더넷(Ethernet)으로 변환하여 중앙 집중식 의사 결정을 수행하는 아키텍처를 소개한다. 발표자는 러스트(Rust)를 통해 ECU의 전력 효율성을 높이고, 안전성을 강화하는 데 기여했다고 강조한다.
러스트(Rust)의 장점: 생산성 및 개발자 만족도 향상
발표자는 러스트(Rust)를 도입한 결과, 2~4배의 생산성 향상을 경험했다고 언급한다. 또한, 개발자들이 코드의 정확성에 대한 높은 자신감(Confidence)을 갖게 되었으며, 코드 리뷰(Code Review)가 용이해졌다고 설명한다. 발표자는 러스트(Rust)가 개발자들의 만족도를 높이고, 우수한 인재를 유치하는 데 기여했다고 강조한다.
실제 적용 사례: Polestar 3 출시
발표자는 2024년 Polestar 3 출시를 통해 러스트(Rust) 기반의 소프트웨어를 실제 차량에 적용한 사례를 소개한다. UDS(Universal Diagnostic Services) 서버를 개발하여 소프트웨어 다운로드 및 진단 기능을 구현했으며, 사이버 보안(Cybersecurity) 및 프로토콜(Protocol) 관련 기능을 추가하여 실제 차량에 적용할 수 있었다고 설명한다. 발표자는 러스트(Rust)의 안전성과 보안성을 입증했다고 강조한다.