- Код статьи
- S3034584725030012-1
- DOI
- 10.7868/S3034584725030012
- Тип публикации
- Статья
- Статус публикации
- Опубликовано
- Авторы
- Том/ Выпуск
- Том / Номер выпуска 3
- Страницы
- 3-14
- Аннотация
- Программный комплекс современного гражданского самолета работает под управлением операционной системы реального времени (ОСРВ). Эта технология является критической с точки зрения безопасности и для использования должна быть сертифицирована. Неотъемлемой частью ОСРВ является графическая компонента. Существующие авиационные приложения применяют графические шейдеры, которые компилируются перед выполнением. Но компилятор шейдеров, написанный на языке C++, не может быть сертифицирован. Поэтому мы предложили подход, при котором компилятор не используется в бортовом программном обеспечении. Он компилирует шейдеры заранее, и в процессе работы они загружаются в виде двоичного программного объекта. Таким образом, сертификация компилятора шейдеров была заменена на тестирование программного объекта, создаваемого им. Нами был разработан программно-аппаратный комплекс, предназначенный для тестирования работы компилятора, независимый от конкретной целевой платформы. На основе анализа авиационных приложений был разработан набор тестов, позволяющий проверить корректность всех операций шейдеров, применяемых в приложениях гражданской авиации. Таким образом, мы нашли и успешно реализовали практичное решение проблемы невозможности сертификации компилятора шейдеров, что позволило включить шейдеры в сертифицированное программное обеспечение бортового оборудования гражданского самолета.
- Ключевые слова
- пилотный дисплей OpenGL SC компилятор шейдеров тестирование шейдеров
- Дата публикации
- 02.06.2025
- Год выхода
- 2025
- Всего подписок
- 0
- Всего просмотров
- 100
Библиография
- 1. DO-178C Software Considerations in Airborne Systems and Equipment Certification (online). http://www.rtca.org/store_product.asp?prodid=803 Квалификационные требования часть 178C, АР МАК, 2014.
- 2. Barladian B.Kh., Deryabin N.B., Shapiro L.Z., Solodelov Yu.A., Voloboy A.G., Galaktionov V.A. Multiwindow Rendering on a Cockpit Display Using Hardware Acceleration. Programming and Computer Software. 2021. V. 47. № 6. P. 457-465. DOI: 10.1134/S0361768821060025.
- 3. Barladian B.Kh., Deryabin N.B., Voloboy A.G., Galaktionov V.A., Shapiro L.Z., Valiev I.V., Solodelov Yu.A. Specifics of the Development of an On-Board Visualization System for Civil Aircrafts. Programming and Computer Software. 2024. V. 50. № 3. P. 215-223. DOI: 10.1134/S0361768824700014.
- 4. The Mesa 3D Graphics Library (online). http://www.mesa3d.org (accessed: 20.12.2024)
- 5. Barr E.T., Harman M., McMinn P., Shahbaz M., Yoo S. The Oracle Problem in Software Testing: A Survey. IEEE Trans. Software Eng. 2015. V. 41. № 5. P. 507-525. DOI: 10.1109/TSE.2014.2372785.
- 6. Якушева С.Ф., Хританков А.С. Систематический обзор методов составления тестовых инвариантов. Программные системы: теория и приложения. 2024. Т. 15. № 2(61). С. 37-86. DOI: 10.25209/2079-3316-2024-15-2-37-86.
- 7. Segura S., Fraser G., Sanchez A.B., Ruiz-Cortés A. A survey on metamorphic testing. IEEE Transactions on software engineering. 2016. V. 42. № 9. P. 805-824. DOI: 10.1109/TSE.2016.2532875.
- 8. Guderlei R., Mayer J. Towards Automatic Testing of Imaging Software by Means of Random and Metamorphic Testing. International Journal of Software Engineering and Knowledge Engineering. 2007. V. 17. № 6. P. 757-781. DOI: 10.1142/S0218194007003471.
- 9. Donaldson A., Evrard H., Lascu A., Thomson P. Automated testing of graphics shader compilers. Proceedings of the ACM on Programming Languages. 2017. V. 1. Issue OOPSLA (Art. 93, pp. 1-29). DOI: 10.1145/3133917.
- 10. Donaldson A., Thomson P., Teliman V., Milizia S., Maselco A.P., Karpiński A. Test-case reduction and deduplication almost for free with transformation-based compiler testing. PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. 2021. P. 1017-1032. DOI: 10.1145/3453483.3454092.
- 11. Donaldson A., Evrard H., Lascu A., Thomson P. Putting Randomized Compiler Testing into Production (Experience Report). 34th European Conference on Object-Oriented Programming (ECOOP 2020). Leibniz International Proceedings in Informatics (LIPIcs). 2020. V. 166. P. 22:1-22:29. DOI: 10.4230/LIPIcs.ECOOP.2020.22.
- 12. Google, GraphicsFuzz. GitHub repository (online). https://github.com/google/graphicsfuzz (accessed: 20.12.2024)
- 13. The Vulkan Conformance Tests Suite (online). https://docs.vulkan.org/guide/latest/vulkan_cts.html (accessed: 20.12.2024)
- 14. Xiao D., Liu Z., Wang S. Metamorphic Shader Fusion for Testing Graphics Shader Compilers. 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). 2023. P. 2400-2412. DOI: 10.1109/ICSE48619.2023.00201.
- 15. Bernhard L., Schiller N., Schloegel M., Bars N., Holz T. DarthShader: Fuzzing WebGPU Shader Translators & Compilers. Proceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications Security. P. 690-704. DOI: 10.1145/3658644.3690209.
- 16. Donaldson A.F., Lascu A. Metamorphic testing for (graphics) compilers. Proceedings of the 1st International Workshop on Metamorphic Testing. 2016. P. 44-47. DOI: 10.1145/2896971.2896978.
- 17. Szűcs A.I. Improving graphics programming with shader tests. Pollack Periodica. 2019. V. 14. № 1. P. 35-46. DOI: 10.1556/606.2019.14.1.4.
- 18. Crawford L., O'Boyle M. A Cross-platform Evaluation of Graphics Shader Compiler Optimization. 2018 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). 2018. P. 219-228. DOI: 10.1109/ISPASS.2018.00035.
- 19. GFXBench - a bencmarking suite for OpenGL shaders (online). https://gfxbench.com (accessed: 20.12.2024)
- 20. Kuo L.-W., Yang C.-C., Lee J.-K., Tseng S.-Y. The design of LLVM-based shader compiler for embedded architecture. 20th IEEE International Conference on Parallel and Distributed Systems (ICPADS). 2014. P. 961-968. DOI: 10.1109/PADSW.2014.7097916.
- 21. SCADE Suite (online). https://cae-expert.ru/product/scade-suite (accessed: 20.12.2024)
- 22. Simpson R.J., Kessenich J. The opengl es shading language. Language Version, 1 (online). 2009. www.khronos.org/files/opengles_shading_language.pdf
- 23. Simpson R.J., Kessenich J. The OpenGL ES Shading Language Version 3.20.6 (online), 2019. The Khronos Group.
- 24. Munshi A., Ginsburg D., Shreiner D. OpenGL ES 2.0 Programming Guide. Boston: Addison-Wesley. 2008.
- 25. i.MX 6 Series Applications Processors (online). http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/i.mx-6-processors:IMX6X_SERIES (accessed: 20.12.2024)
- 26. Солоделов Ю.А., Горелиц Н.К. Сертифицируемая бортовая операционная система реального времени JetOS для российских проектов воздушных судов. Труды ИСП РАН. 2017. Т. 29. № 3. С. 171-178. DOI: 10.15514/ISPRAS-2017-29(3)-10.