Тестирование графических шейдеров для использования в Бортовой системе визуализации гражданских воздушных судов
- Авторы: Барладян Б.Х.1, Волобой А.Г.1, Шапиро Л.З.1, Денисов Е.Ю.1, Галактионов В.А.1
-
Учреждения:
- Институт прикладной математики им. М. В. Келдыша РАН
- Выпуск: № 3 (2025)
- Страницы: 3–14
- Раздел: КОМПЬЮТЕРНАЯ ГРАФИКА И ВИЗУАЛИЗАЦИЯ
- URL: https://modernonco.orscience.ru/0132-3474/article/view/688098
- DOI: https://doi.org/10.31857/S0132347425030012
- EDN: https://elibrary.ru/GQOVMG
- ID: 688098
Цитировать
Полный текст



Аннотация
Программный комплекс современного гражданского самолета работает под управлением операционной системы реального времени (ОСРВ). Эта технология является критической с точки зрения безопасности и для использования должна быть сертифицирована. Неотъемлемой частью ОСРВ является графическая компонента. Существующие авиационные приложения применяют графические шейдеры, которые компилируются перед выполнением. Но компилятор шейдеров, написанный на языке C++, не может быть сертифицирован. Поэтому мы предложили подход, при котором компилятор не используется в бортовом программном обеспечении. Он компилирует шейдеры заранее, и в процессе работы они загружаются в виде двоичного программного объекта. Таким образом, сертификация компилятора шейдеров была заменена на тестирование программного объекта, создаваемого им. Нами был разработан программно-аппаратный комплекс, предназначенный для тестирования работы компилятора, независимый от конкретной целевой платформы. На основе анализа авиационных приложений был разработан набор тестов, позволяющий проверить корректность всех операций шейдеров, применяемых в приложениях гражданской авиации. Таким образом, мы нашли и успешно реализовали практичное решение проблемы невозможности сертификации компилятора шейдеров, что позволило включить шейдеры в сертифицированное программное обеспечение бортового оборудования гражданского самолета.
Ключевые слова
Полный текст

Об авторах
Б. Х. Барладян
Институт прикладной математики им. М. В. Келдыша РАН
Автор, ответственный за переписку.
Email: bbarladian@gmail.com
ORCID iD: 0000-0002-2391-2067
Россия, 125047 Москва, Миусская пл., д. 4
А. Г. Волобой
Институт прикладной математики им. М. В. Келдыша РАН
Email: voloboy@gin.keldysh.ru
ORCID iD: 0000-0003-1252-8294
Россия, 125047 Москва, Миусская пл., д. 4
Л. З. Шапиро
Институт прикладной математики им. М. В. Келдыша РАН
Email: pls@gin.keldysh.ru
ORCID iD: 0000-0002-6350-851X
Россия, 125047 Москва, Миусская пл., д. 4
Е. Ю. Денисов
Институт прикладной математики им. М. В. Келдыша РАН
Email: denisov@gin.keldysh.ru
ORCID iD: 0000-0002-0614-9100
Россия, 125047 Москва, Миусская пл., д. 4
В. А. Галактионов
Институт прикладной математики им. М. В. Келдыша РАН
Email: vlgal@gin.keldysh.ru
ORCID iD: 0000-0001-6460-7539
Россия, 125047 Москва, Миусская пл., д. 4
Список литературы
- DO-178C Software Considerations in Airborne Systems and Equipment Certification (online). http://www.rtca.org/store_product.asp?prodid=803 Квалификационные требования часть 178C, АР МАК, 2014.
- 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.
- 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.
- The Mesa 3D Graphics Library (online).http://www.mesa3d.org (accessed: 20.12.2024)
- 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.
- Якушева С.Ф., Хританков А.С. Систематический обзор методов составления тестовых инвариантов. Программные системы: теория и приложения. 2024. Т. 15. № 2(61). С. 37–86. doi: 10.25209/2079-3316-2024-15-2-37-86.
- 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.
- 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.
- 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.
- 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.
- 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.
- Google, GraphicsFuzz. GitHub repository (online). https://github.com/google/graphicsfuzz (accessed: 20.12.2024)
- The Vulkan Conformance Tests Suite (online). https://docs.vulkan.org/guide/latest/vulkan_cts.html (accessed: 20.12.2024)
- 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.
- 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.
- 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.
- 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.
- 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.
- GFXBench – a bencmarking suite for OpenGL shaders (online). https://gfxbench.com (accessed: 20.12.2024)
- 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.
- SCADE Suite (online). https://cae-expert.ru/product/scade-suite (accessed: 20.12.2024)
- Simpson R.J., Kessenich J. The opengl es shading language. Language Version, 1 (online). 2009. www.khronos.org/files/opengles_shading_language.pdf
- Simpson R.J., Kessenich J. The OpenGL ES Shading Language Version 3.20.6 (online), 2019. The Khronos Group.
- Munshi A., Ginsburg D., Shreiner D. OpenGL ES 2.0 Programming Guide. Boston: Addison–Wesley. 2008.
- 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)
- Солоделов Ю.А., Горелиц Н.К. Сертифицируемая бортовая операционная система реального времени JetOS для российских проектов воздушных судов. Труды ИСП РАН. 2017. Т. 29. № 3. С. 171–178. doi: 10.15514/ISPRAS-2017-29(3)-10.
Дополнительные файлы
