Graphic shaders testing for use in on-board visualisation system of civil aircraft

Capa

Citar

Texto integral

Acesso aberto Acesso aberto
Acesso é fechado Acesso está concedido
Acesso é fechado Acesso é pago ou somente para assinantes

Resumo

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.

Texto integral

Acesso é fechado

Sobre autores

B. Barladian

Keldysh Institute of Applied Mathematics RAS

Autor responsável pela correspondência
Email: bbarladian@gmail.com
ORCID ID: 0000-0002-2391-2067
Rússia, 4 Miusskaya sq., Moscow, 125047

A. Voloboy

Keldysh Institute of Applied Mathematics RAS

Email: voloboy@gin.keldysh.ru
ORCID ID: 0000-0003-1252-8294
Rússia, 4 Miusskaya sq., Moscow, 125047

L. Shapiro

Keldysh Institute of Applied Mathematics RAS

Email: pls@gin.keldysh.ru
ORCID ID: 0000-0002-6350-851X
Rússia, 4 Miusskaya sq., Moscow, 125047

E. Denisov

Keldysh Institute of Applied Mathematics RAS

Email: denisov@gin.keldysh.ru
ORCID ID: 0000-0002-0614-9100
Rússia, 4 Miusskaya sq., Moscow, 125047

V. Galaktionov

Keldysh Institute of Applied Mathematics RAS

Email: vlgal@gin.keldysh.ru
ORCID ID: 0000-0001-6460-7539
Rússia, 4 Miusskaya sq., Moscow, 125047

Bibliografia

  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.

Arquivos suplementares

Arquivos suplementares
Ação
1. JATS XML
2. Fig. 1. OpenGL ES (SC) 2.0 graphics pipeline [24].

Baixar (831KB)
3. Fig. 2. Airport Moving Map application using vertex and fragment shaders.

Baixar (1MB)
4. Fig. 3. PFD application using textures in vertex and fragment shaders.

Baixar (1MB)
5. Fig. 4. Shader compiler testing system diagram.

Baixar (1MB)
6. Fig. 5. Image of a test for checking the matrix transformation of coordinates and clipping planes indicated by dotted lines.

Baixar (1MB)
7. Fig. 6. Test for checking modulation of primitive color by texture color: (a) primitive color, (b) texture color, (c) modulation result.

Baixar (1MB)

Declaração de direitos autorais © Russian Academy of Sciences, 2025