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