GRAPHIC SHADERS TESTING FOR USE IN ON-BOARD VISUALISATION SYSTEM OF CIVIL AIRCRAFT
- Authors: Barladian B.K.1, Voloboy A.G.1, Shapiro L.Z.1, Denisov E.Y.1, Galaktionov V.A.1
-
Affiliations:
- Keldysh Institute of Applied Mathematics RAS
- Issue: No 3 (2025)
- Pages: 3-14
- Section: COMPUTER GRAFICS AND VISUALIZATION
- URL: https://journal-vniispk.ru/0132-3474/article/view/305283
- DOI: https://doi.org/10.31857/S0132347425030012
- EDN: https://elibrary.ru/gqovmg
- ID: 305283
Cite item
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.
Keywords
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
- DO-178C software considerations in airborne systems and equipment certification. http://www.rtca.org/store_product.asp?prodid=803
- 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
- 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
- The Mesa 3D Graphics Library. http://www.mesa3d.org (сited December 20, 2024)
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Google, GraphicsFuzz. GitHub repository. https://github.com/google/graphicsfuzz (сited December 20, 2024)
- The Vulkan conformance tests suite. https://docs.vulkan. org/guide/latest/vulkan_cts.html (сited December 20, 2024)
- 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
- 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
- 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
- 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
- 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
- GFXBench – A bencmarking suite for OpenGL shaders. https://gfxbench.com (сited December 20, 2024)
- 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
- SCADE Suite. https://cae-expert.ru/product/scadesuite (сited December 20, 2024)
- 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
- Simpson R.J., Kessenich J. The OpenGL ES Shading Language Version 3.20.6, The Khronos Group, 2019.
- Munshi A., Ginsburg D., Shreiner D. OpenGL ES 2.0 Programming Guide, Boston: Addison–Wesley, 2008.
- 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)
- 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
