Shanghai-based Banma, a joint venture between China’s Alibaba Group and SAIC Motor company, develops and supports an Intelligent Connected Vehicles operating system called Cyber OS and Drive OS. Cyber OS is designed for smart cockpit and Drive OS for smart driving. These operating systems facilitate human centric capabilities such as augmented reality navigation, human-machine interaction, and internet connectivity, as well as vehicle-related functionalities such as engine starting, vehicle diagnosis, lighting, and seat adjustment. With many of these AI-enabled applications being safety-critical, it was important for Banma to certify the toolchain it uses to develop Banma-based applications for ISO 26262 functional safety requirements. The company uses a GCC cross-compiler to compile its source code, Solid Sands’ SuperTest Compiler Test and Validation suite was selected to qualify it.
Banma’s advanced AI-based solutions are designed to run on Horizon Robotics’ AArch64 64-bit ARM architecture JOURNEYTM 5 hardware platform, which was itself designed under certified standards including ISO 26262 Automotive Safety Integrity Level (ASIL) B. To compile C/C++ source code to AArch64 object files and link them to AArch64 executables and libraries, the company uses the open-source GCC 9.3 cross-compiler. Running SuperTest once a month immediately identifies regression issues associated with the latest GCC compiler and library version, ensuring that Banma’s use of the compiler remains consistent with ISO 26262 functional safety requirements.
If a SuperTest test fails, it indicates a potential issue with the cross-compiler, therefore, Banma issues a coding constraint so that its software development team can avoid using C-language constructs that could compromise the safety of the company’s software applications. The process has also given the team a much better understanding of the compiler in specific use cases.
“Running SuperTest made us realize that many of the GCC -W warning switches affect whether or not the syntax compiles through to the end. It also focused us on standardizing the use of C/C++ syntax in our programming, using standard POSIX syntax and avoiding the use of GNU extensions, which are less rigorously defined,”
Advanced Driver Assistance Systems (ADAS), augmented reality navigation, and autonomous driving put major demands on software latency, which means Banma makes extensive use of compiler optimizations. It is therefore reassuring that one of SuperTest’s major strengths is its ability to maximize code coverage for a wide range of optimizers.
Implementing AI-based edge computing and internet connectivity adds an additional layer of complexity and security. Banma uses SuperTest to perform an ISO 26262 compliant compiler safety qualification of GCC 8.6 as part of a major functional safety certification project. This ensures its software meets the highest possible safety standards as it delivers a next-generation driving experience – one that combines internet connectivity, AI and edge computing to optimize and humanize the driving experience, automatically learn and adapt to user moods and preferences, and seamlessly deliver situational and location-based services.