ТЕСТИРОВАНИЕ ГРАФИЧЕСКИХ ШЕЙДЕРОВ ДЛЯ ИСПОЛЬЗОВАНИЯ В БОРТОВОЙ СИСТЕМЕ ВИЗУАЛИЗАЦИИ ГРАЖДАНСКИХ ВОЗДУШНЫХ СУДОВ

Обложка

Цитировать

Полный текст

Открытый доступ Открытый доступ
Доступ закрыт Доступ предоставлен
Доступ закрыт Только для подписчиков

Аннотация

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

Об авторах

Б. Х. Барладян

Институт прикладной математики им. М. В. Келдыша РАН

Автор, ответственный за переписку.
Email: bbarladian@gmail.com
125047 Москва, Миусская пл., д. 4, Россия

А. Г. Волобой

Институт прикладной математики им. М. В. Келдыша РАН

Email: voloboy@gin.keldysh.ru
125047 Москва, Миусская пл., д. 4, Россия

Л. З. Шапиро

Институт прикладной математики им. М. В. Келдыша РАН

Email: pls@gin.keldysh.ru
125047 Москва, Миусская пл., д. 4, Россия

Е. Ю. Денисов

Институт прикладной математики им. М. В. Келдыша РАН

Email: denisov@gin.keldysh.ru
125047 Москва, Миусская пл., д. 4, Россия

В. А. Галактионов

Институт прикладной математики им. М. В. Келдыша РАН

Email: vlgal@gin.keldysh.ru
125047 Москва, Миусская пл., д. 4, Россия

Список литературы

  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.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML

© Российская академия наук, 2025

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».