GRAPHIC SHADERS TESTING FOR USE IN ON-BOARD VISUALISATION SYSTEM OF CIVIL AIRCRAFT

Cover Page

Cite item

Full Text

Open Access Open Access
Restricted Access Access granted
Restricted Access Subscription Access

Abstract

The software package of a modern civil aircraft operates under the control of a real-time operating system (RTOS). This technology is critical from the point of view of safety and must be certified for use. An integral part of the RTOS is the graphics component. Existing aviation applications use graphics shaders that are to be compiled before execution. But a shader compiler written in C++ cannot be certified. Therefore, we propose an approach in which the compiler is not used in the on-board software. It compiles shaders in advance, and during operation they are loaded as a binary software object. Thus, certification of the shader compiler was replaced by testing the software object created by it. We developed a hardware and software complex designed to test the compiler, independent of a specific target platform. Based on the analysis of aviation applications, a set of tests was developed that allows you to check the correctness of all shader operations used in civil aviation applications. Thus, we have found and successfully implemented a practical solution to the problem of the impossibility of certifying the shader compiler, which made it possible to include shaders in the certified software of the onboard equipment of a civil aircraft.

About the authors

B. K. Barladian

Keldysh Institute of Applied Mathematics RAS

Author for correspondence.
Email: bbarladian@gmail.com
4 Miusskaya sq., Moscow, 125047 Russia

A. G. Voloboy

Keldysh Institute of Applied Mathematics RAS

Email: voloboy@gin.keldysh.ru
4 Miusskaya sq., Moscow, 125047 Russia

L. Z. Shapiro

Keldysh Institute of Applied Mathematics RAS

Email: pls@gin.keldysh.ru
4 Miusskaya sq., Moscow, 125047 Russia

E. Y. Denisov

Keldysh Institute of Applied Mathematics RAS

Email: denisov@gin.keldysh.ru
4 Miusskaya sq., Moscow, 125047 Russia

V. A. Galaktionov

Keldysh Institute of Applied Mathematics RAS

Email: vlgal@gin.keldysh.ru
4 Miusskaya sq., Moscow, 125047 Russia

References

  1. DO-178C software considerations in airborne systems and equipment certification. http://www.rtca.org/store_product.asp?prodid=803
  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, Program. Comput. Software, 2021, vol. 47, no. 6, pp. 457–465. https://doi.org/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, Program. Comput. Software, 2024, vol. 50, no. 3, pp. 215–223. https://doi.org/10.1134/S0361768824700014
  4. The Mesa 3D Graphics Library. http://www.mesa3d.org (сited December 20, 2024)
  5. Barr E.T., Harman M., Mcminn P., Shahbaz M., Yoo Sh. The oracle problem in software testing: A survey, IEEE Trans. Software Eng., 2015, vol. 41, no. 5, pp. 507–525. https://doi.org/10.1109/tse.2014.2372785
  6. Yakusheva S.F., Khrisankov A.S. A systematic survey of methods for designing test invariants, Programmnye Sistemy: Teoriya i Prilozheniya, 2024, vol. 15, no. 2, pp. 37–86. https://doi.org/10.25209/2079-3316-2024-15-2-37-86
  7. Segura S., Fraser G., Sanchez A.B., Ruiz-Cortes A. A survey on metamorphic testing, IEEE Trans. Software Eng., 2016, vol. 42, no. 9, pp. 805–824. https://doi.org/10.1109/tse.2016.2532875
  8. Guderlei R., Mayer J. Towards automatic testing of imaging software by means of random and metamorphic testing, Int. J. Software Eng. Knowl. Eng., 2007, vol. 17, no. 6, pp. 757–781. https://doi.org/10.1142/s0218194007003471
  9. Donaldson A.F., Evrard H., Lascu A., Thomson P. Automated testing of graphics shader compilers, Proc. ACM Program. Lang., 2017, vol. 1, no. oopsla, p. 93. https://doi.org/10.1145/3133917
  10. Donaldson A.F., Thomson P., Teliman V., Milizia S., Maselco A.P., Karpiński A. Test-case reduction and deduplication almost for free with transformationbased compiler testing, Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, New York: Association for Computing Machinery, 2021, pp. 1017–1032. https://doi.org/10.1145/3453483.3454092
  11. Donaldson A.F., Evrard H., Thomson P. Putting randomized compiler testing into production, 34th European Conference on Object-Oriented Programming (ECOOP 2020), Hirschfeld R. and Pape T., Eds., Leibniz International Proceedings in Informatics (LIPIcs), vol. 166, Dagstuhl, Germany: Schloss Dagstuhl — Leibniz-Zentrum für Informatik, 2020, p. 22. https://doi.org/10.4230/LIPIcs.ECOOP.2020.22
  12. Google, GraphicsFuzz. GitHub repository. https://github.com/google/graphicsfuzz (сited December 20, 2024)
  13. The Vulkan conformance tests suite. https://docs.vulkan. org/guide/latest/vulkan_cts.html (сited December 20, 2024)
  14. Xiao D., Liu Zh., Wang Sh. Metamorphic shader fusion for testing graphics shader compilers, 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE), Melbourne, Australia, 2023, IEEE, 2023, pp. 2400–2412. https://doi.org/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, Salt Lake City, UT, 2024, New York: Association for Computing Machinery, 2024, pp. 690–704. https://doi.org/10.1145/3658644.3690209
  16. Donaldson A.F., Lascu A. Metamorphic testing for (graphics) compilers, Proceedings of the 1st International Workshop on Metamorphic Testing, Austin, TX, 2016, New York: Association for Computing Machinery, 2016, pp. 44–47. https://doi.org/10.1145/2896971.2896978
  17. Szűcs A.I. Improving graphics programming with shader tests, Pollack Periodica, 2019, vol. 14, no. 1, pp. 35–46. https://doi.org/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), Belfast, UK, 2018, IEEE, 2018, pp. 219–228. https://doi.org/10.1109/ispass.2018.00035
  19. GFXBench – A bencmarking suite for OpenGL shaders. https://gfxbench.com (сited December 20, 2024)
  20. Kuo L.-W., Yang C.-C., Lee J.-K., Tseng S.-Y. The design of LLVM-based shader compiler for embedded architecture, 2014 20th IEEE International Conference on Parallel and Distributed Systems (ICPADS), Hsinchu, Taiwan, 2014, IEEE, 2014, pp. 961–968. https://doi.org/10.1109/padsw.2014.7097916
  21. SCADE Suite. https://cae-expert.ru/product/scadesuite (сited December 20, 2024)
  22. Simpson R.J., Kessenich J. The OPENGL ES shading language. Language Version 1, The Khronos Group, 2009. https://www.khronos.org/files/opengles_shading_language.pdf
  23. Simpson R.J., Kessenich J. The OpenGL ES Shading Language Version 3.20.6, The Khronos Group, 2019.
  24. Munshi A., Ginsburg D., Shreiner D. OpenGL ES 2.0 Programming Guide, Boston: Addison–Wesley, 2008.
  25. i.MX 6 Series Applications Processors. https://www.nxp.com/products/processors-and microcontrollers/arm-processors/i-mx-applicationsprocessors/i-mx-6-processors:IMX6X_SERIES (сited December 20, 2024)
  26. Solodelov Yu.A., Gorelits N.K. Certifiable onboard real-time operation system JetOS for Russian aircrafts design, Trudy Instituta Sistemnogo Programmirovaniya Rossiiskoi Akademii Nauk, 2017, vol. 29, no. 3, pp. 171–178. https://doi.org/10.15514/ispras-2017-29(3)-10

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2025 Russian Academy of Sciences

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

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») на элемент с текстом «Принять и продолжить».