Abstract
The adoption of autonomous driving (AD) software executed on high-performance multi-processor systems on chip (MPSoCs) contributes to increasing the overall system’s safety and efficiency. However, existing AD software frameworks are provided as complete implementations that do not follow any domain-specific safety-requirement centric development process. In this paper, we develop, for the first time, ISO 26262 dynamic views of a representative AD framework, Apollo. Dynamic views are a key element of software architectural design that links safety software requirements with their implementation, and are the basis to verify that all casuistics are properly considered in the design and tested in the validation tests. We also show that dynamic views miss key information of the execution parallelism of Apollo, needed to assess and improve execution efficiency to meet performance-related safety requirements and reduce resource utilization. We cover this gap by proposing execution views that capture the parallelism exploited by the analyzed application on the target MPSoC. Execution views improve greatly resource usage testing, which is required by ISO 26262, and allow better resource utilization contributing to the stringent cost-reduction requirements in automotive domains.
Similar content being viewed by others
Data availability
The data supporting the results reported in this work are available from the authors upon reasonable request.
Notes
MPSoCs have been used in mainstream domains for years, but they are not fully adopted yet in embedded critical domains due to some of the difficulties they bring to the whole V &V process.
Equipment Under Control
References
Abdessalem, R. B., Panichella, A., Nejati, S., Briand, L. C., & Stifter, T. (2018). In International Conference on Automated Software Engineering.
Alcon, M., Tabani, H., Abella, J., Kosmidis, L., & Cazorla, F. J. (2020). In Proceedings of the 35th Annual ACM Symposium on Applied Computing (pp. 1953–1962).
AMD. (2021). AMD Ryzen 7 1800X Processor. https://www.amd.com/en/products/cpu/amd-ryzen-7-1800x
Apollo. (2018). An open autonomous driving platform. http://apollo.auto/
Autoware. (2016). An open autonomous driving platform. https://github.com/CPFL/Autoware/
Behles, C. (2020). A dissertation on the testing approaches of autonomous cyber-physical systems. Ph.D. thesis, The University of Memphis.
Berger, C. (2015). In International Workshop on Software Engineering for Smart Cyber-Physical Systems.
Broy, M., Kirstan, S., Krcmar, H., & Schätz, B. (2012). What is the benefit of a model-based design of embedded software systems in the car industry? pp. 343–369.
Deloitte. (2019). Semiconductors – The next wave opportunities and winning strategies for semiconductor companies. https://www2.deloitte.com/content/dam/Deloitte/cn/Documents/technology-media-telecommunications/deloitte-cn-tmt-semiconductors-the-next-wave-en-190422.pdf
GAS Workgroup. (2015). Standardized E-gas monitoring concept for gasoline and diesel engine control units (version 6.0). http://docplayer.net/31264302-Standardized-e-gas-monitoring-concept-for-gasoline-and-diesel-engine-control-units.html
International Electrotechnical Commission. (2009). IEC 61508, Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems, Edition 2.0.
International Organization for Standardization. (2009). ISO/DIS 26262. Road Vehicles – Functional Safety.
International Organization for Standardization. (2019). ISO/PAS 21448. Road vehicles – Safety of the intended functionality.
Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., Guadarrama, S., & Darrell, T. (2014). In Proceedings of the 22nd ACM International Conference on Multimedia (pp. 675–678).
Liu, S., Liu, L., Tang, J., Yu, B., Wang, Y., & Shi, W. (2019). Edge computing for autonomous driving: Opportunities and challenges. Proceedings of the IEEE, 107(8), 1697–1716. https://doi.org/10.1109/JPROC.2019.2915983
Nvidia. (2021a). GEFORCE GTX 1080 Ti. https://www.nvidia.com/en-sg/geforce/products/10series/geforce-gtx-1080-ti/
Nvidia. (2021b). NVIDIA DRIVE PX. https://www.nvidia.com/content/nvidiaGDC/sg/en_SG/self-driving-cars/drive-px/
Nvidia. (2021c). Jetson TX2. https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-tx2/
Nvidia. (2021d). NVIDIA DRIVE AGX Developer Kit. https://developer.nvidia.com/drive/drive-agx
Ochieng, W., & Sauer, K. (2002). Urban road transport navigation: Performance of the global positioning system after selective availability. Transportation Research Part C: Emerging Technologies, 10(3), 171–187.
Paraver. (2021). A flexible performance analysis tool. https://tools.bsc.es/paraver
Rajabli, N., Flammini, F., Nardone, R., & Vittorini, V. (2021). Software verification and validation of safe autonomous cars: A systematic literature review. IEEE Access, 9, 4797–4819. https://doi.org/10.1109/ACCESS.2020.3048047
Pei, K., Cao, Y., Yang, J., & Jana, S. (2019) Deepxplore: Automated whitebox testing of deep learning systems. Communications of ACM 62(11), 137-145. https://doi.org/10.1145/3361566
Powell, M., Yang, S. H., Falsafi, B., Roy, K. & Vijaykumar, T. (2000) In Proceedings of the 2000 International Symposium on Low Power Electronics and Design (pp. 90–95).
Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., & Ng, A. Y., et al. (2009) In ICRA workshop on open source software.
Rana, R., Staron, M., Berger, C., Hansson, J., Nilsson, M., & Törner, F. (2014). Early verification and validation according to ISO 26262 by combining fault injection and mutation testing. pp. 164–179.
RapiTime. (2008). https://www.rapitasystems.com/products/rapitime
Redmon, J., & Farhadi, A. (2018). Yolov3: An incremental improvement. arXiv preprint https://doi.org/10.48550/arXiv.1804.02767
Synopsys. (2017). Certitude functional qualification system. https://www.synopsys.com/
Tabani, H., Kosmidis, L., Abella, J., Cazorla, F. J., & Bernat, G. (2019) In 2019 56th ACM/IEEE Design Automation Conference (DAC) (pp. 1–6). IEEE.
Valgrind Developers. (2019). Valgrind http://valgrind.org/
Funding
This work has been supported by the Spanish Ministry of Science and Innovation under grant PID2019-107255GBC21/ AEI/10.13039/501100011033 and the European Research Council (ERC) grant agreement no. 772773 (SuPerCom).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare no competing interests.
Appendix
Appendix
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Alcon, M., Tabani, H., Abella, J. et al. Dynamic and execution views to improve validation, testing, and optimization of autonomous driving software. Software Qual J 31, 405–439 (2023). https://doi.org/10.1007/s11219-022-09609-x
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-022-09609-x