{"id":2784,"date":"2024-05-21T23:54:43","date_gmt":"2024-05-21T23:54:43","guid":{"rendered":"https:\/\/www.emprog.com\/emprog\/product-solid-sands-copy\/"},"modified":"2024-05-23T01:54:40","modified_gmt":"2024-05-23T01:54:40","slug":"supertest","status":"publish","type":"page","link":"https:\/\/www.emprog.com\/emprog\/supertest\/","title":{"rendered":"Product Solid Sands SuperTest"},"content":{"rendered":"<div class=\"wpb-content-wrapper\">[vc_row][vc_column width=&#8221;1\/4&#8243;][\/vc_column][vc_column width=&#8221;1\/2&#8243;][vc_column_text]\n<p style=\"text-align: left;\"><span style=\"font-family: arial, helvetica, sans-serif; color: #1b4268; font-size: 24pt;\">SuperTest<\/span><\/p>\n[\/vc_column_text][vc_column_text css=&#8221;&#8221;]\n<p><span style=\"font-size: 14pt;\"><strong><span style=\"font-family: arial, helvetica, sans-serif; color: #808080;\">SuperTest Compiler Test and Validation Suite for C and C++<\/span><\/strong><\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\"> SuperTest is the test and validation suite for C and C++ compilers and libraries that has tracked the (ISO) language specifications for more than 40 years. It is a complete validation environment with:<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #808080;\"><span style=\"font-size: 14pt;\"> \u2022 A huge collection of hand-written test<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 A large body of generated tests<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 A configurable test driver to easily set up and run validations<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 A report generator that provides comprehensive overviews of validation results in multiple formats, including HTML and JUnit XML, and will immediately identify regressions of the latest compiler and library version compared to a designated reference<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 SuperTest comes with a bundle of ~24K hand-written files generating Millions lines of code to achieve all standard testing.<\/span> <\/span><\/p>\n[\/vc_column_text][vc_column_text]\n<p><span style=\"font-size: 14pt;\"><strong><span style=\"font-family: arial, helvetica, sans-serif; color: #808080;\">SuperTest includes many more unique features that are not found in other test suites:<\/span><\/strong><\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #808080;\"><span style=\"font-size: 14pt;\">\u2022 Very easy and quick installation and configuration<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Can be used to verify deeply embedded freestanding C implementations on memory constraint devices (down to 4K memory)<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Clear and easy reporting in text, HTML, JUnit XML and CSV<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 The CGtrainer (Code Generator trainer), a suite of nearly one thousand tests aimed at bootstrapping new compiler development<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Powerful testing of the code generator\/back-end<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 The Depth Suite is a collection of generated tests that exhaustively verifies arithmetic correctness relative to the target machine\u2019s data model. Depth Suites for many data models are included, but if your data model is not there, we will create one for you free of charge<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Parallel testing automatically splits validation runs into a preconfigured numbers of threads to speed up the validation<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Testing of libraries<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 A production rule driven test generator to create pseudo-random variations of a particular test<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Easy addition of your own specific tests<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Excellent professional support<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Multi-processing to execute tests faster<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Supports bare metal targets<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Traceability to the sections of the ISO standards<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Runs on Windows and Linux<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Flexible test generators<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Full control over the test sets<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Python Configuration plugins<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Reporting tools: SuperTest generates high quality reports that are easy to read and analyze<\/span> <\/span><\/p>\n[\/vc_column_text][vc_column_text]\n<p><span style=\"font-size: 14pt;\"><strong><span style=\"font-family: arial, helvetica, sans-serif; color: #808080;\">ISO Standard Conformance Testing<\/span><\/strong><\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\">SuperTest can be used to qualify compilers and libraries for functional safety based on standards like ISO 26262, IEC 61508, EN 50128, IEC 62304. Even if you are a compiler end-user and can\u2019t fix the C\/C++ compiler, SuperTest will help you know what C\/C++ syntax to avoid so you don\u2019t have a runtime issue. <\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\">The SuperTest suite covers the following ISO specifications:<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\"> ISO\/IEC 9899:1990 C90 standard<br \/>\nISO\/IEC 9899:1999 C99 standard<br \/>\nISO\/IEC 9899:2011 C11 standard<br \/>\nISO\/IEC 9899:2018 C18 standard<br \/>\nISO\/IEC TR 18037:2008 Embedded C extension<br \/>\nISO\/IEC 14882:2003 C++03<br \/>\nISO\/IEC 14882:2011 C++11<br \/>\nISO\/IEC 14882:2014 C++14<br \/>\nISO\/IEC 14882:2017 C++17<br \/>\nISO\/IEC 14882:2020 C++20<\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #808080;\"><span style=\"font-size: 14pt;\"> The test suite is systematically structured so that it is clear what section of which standard is tested by each test. Therefore, it is also easy to configure which language version should be tested when executing the test suite.<\/span> <\/span><\/p>\n[\/vc_column_text][vc_column_text]\n<p><span style=\"font-size: 14pt;\"><strong><span style=\"font-family: arial, helvetica, sans-serif; color: #808080;\">Additional SuperTest Features<\/span><\/strong><\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #808080;\"><span style=\"font-size: 14pt;\">\u2022 Optimization correctness<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 C and C++ Standard Library Testing<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Code Generator development<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Data Model specific arithmetic<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 Calling convention testing<\/span><br \/>\n<span style=\"font-size: 14pt;\">\u2022 In-depth arithmetic testing<\/span> <\/span><\/p>\n[\/vc_column_text][vc_column_text css=&#8221;&#8221;]\n<p><span style=\"font-size: 14pt;\"><strong><span style=\"font-family: arial, helvetica, sans-serif; color: #808080;\">SuperTest Can Qualify Any C or C++ Compiler<\/span><\/strong><\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #808080;\"><span style=\"font-size: 14pt;\">SuperTest can be configured to qualify any C or C++ compiler toolchain for any execution environment. We provide example configurations for many of the compiler toolchains and targets listed below. Using an example configuration, getting started with using SuperTest for the qualification of the compiler toolchain and target that you are using is easy. SuperTest targets open source based compilers such as GCC (all versions), LLVM (Clang, all versions), STM32CubeIDE, TI Code Composer, Renesas 22 Studio; and most popular proprietary C\/C++ compilers in the market. Email <a href=\"mailto:info@emprog.com\">info@emprog.com<\/a> to check if you compiler has a ready-to-use SuperTest for it.<\/span> <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-2802 aligncenter\" src=\"https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_1-300x101.png\" alt=\"\" width=\"805\" height=\"271\" srcset=\"https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_1-300x101.png 300w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_1-768x259.png 768w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_1-1536x518.png 1536w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_1-710x240.png 710w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_1-480x162.png 480w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_1.png 1722w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-2803 aligncenter\" src=\"https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_2-300x47.png\" alt=\"\" width=\"805\" height=\"126\" srcset=\"https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_2-300x47.png 300w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_2-768x121.png 768w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_2-1536x243.png 1536w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_2-710x112.png 710w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_2-480x76.png 480w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_2.png 1722w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-2804 aligncenter\" src=\"https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_3-300x66.png\" alt=\"\" width=\"804\" height=\"177\" srcset=\"https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_3-300x66.png 300w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_3-768x170.png 768w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_3-710x157.png 710w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_3-480x106.png 480w, https:\/\/www.emprog.com\/emprog\/wp-content\/uploads\/solidsands_supertest_figure_3.png 1176w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/p>\n[\/vc_column_text][vc_column_text]\n<p><span style=\"font-size: 14pt;\"><strong><span style=\"font-family: arial, helvetica, sans-serif; color: #808080;\">SuperTest Testimonials<\/span><\/strong><\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\"><em>\u201cWith SuperTest, we can now reliably tell our customers that our compiler verification covers the entire C and C++ language standard. SuperTest includes tests for the optimizations that we often develop for our customers in order to meet their performance or code size requirements. As a result, we can run tests that target every part of the compiler,\u201d Customer\u2019s testimony after trying to develop their own test suit based on the LLVM and GCC Torture test suites.<\/em> <\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\"><em>\u201cBefore, when customers asked us how do we really know our compilers work, we didn\u2019t always have a very good answer. After using SuperTest, now we can say with a very high level of confidence that they do.\u201d Customer\u2019s testimony <\/em> <\/span><\/p>\n[\/vc_column_text][\/vc_column][vc_column width=&#8221;1\/4&#8243;][\/vc_column][\/vc_row][vc_row][vc_column width=&#8221;1\/4&#8243;][\/vc_column][vc_column width=&#8221;1\/2&#8243;][vc_column_text css=&#8221;&#8221;]\n<p style=\"text-align: left;\"><span style=\"font-family: arial, helvetica, sans-serif; color: #1b4268; font-size: 18pt;\">Functional Safety<br \/>\n<\/span><\/p>\n[\/vc_column_text][vc_column_text css=&#8221;&#8221;]\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\">Functional safety is one of the most important aspects of many embedded systems today, especially in sectors such as automotive, railway, industrial automation and medical. SuperTest and SuperGuard can be used to qualify compilers and libraries for functional safety. <\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\">Compiler qualification is the process that can be used to develop the required confidence in the compiler. Compiler testing against the language specification is the proper method for this. SuperTest, with its traceability from the C and C++ language standards to the test, is the best test suite for compiler qualification. <\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\">Library qualification is even more critical because the library contains code that is linked into the application and loaded onto the target device. If a library component is defective, the functional safety of the entire application is therefore jeopardized. SuperGuard can be used to support qualification of standard library implementations for safety critical applications.<\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\"> There are different functional safety standards for which you can use SuperTest and SuperGuard to qualify your compiler and library. <\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\"><strong>ISO 26262<\/strong><br \/>\nISO 26262 is the functional safety standard for electrical and electronic systems in series production passenger cars and other automotive categories. It requires qualification of all (electrical and electronic) components with respect to safety. The qualification process is described in the standard.<\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\"><strong> IEC 61508<\/strong><br \/>\nIEC 61508 is the international umbrella standard for functional safety. This standard and other standards derived from it are used in all kinds of industries with requirements on reliability and safety, for example process industries, nuclear power plants and railway control systems. <\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #808080;\"><strong>EN 50128\/EN 50716<\/strong><br \/>\nEN 50128\/EN 50716 are European standard for safety related software in railway applications<\/span><\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #808080;\"><span style=\"font-size: 14pt;\"><strong> IEC 62304<\/strong><\/span><br \/>\n<span style=\"font-size: 14pt;\">IEC 62304 is the international standard which specifies life cycle requirements for the development of medical software and medical devices.<\/span> <\/span><\/p>\n[\/vc_column_text][\/vc_column][vc_column width=&#8221;1\/4&#8243;][\/vc_column][\/vc_row]\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column width=&#8221;1\/4&#8243;][\/vc_column][vc_column width=&#8221;1\/2&#8243;][vc_column_text] SuperTest [\/vc_column_text][vc_column_text css=&#8221;&#8221;] SuperTest Compiler Test and Validation Suite for C and C++ SuperTest is the test and validation suite for C and C++ compilers and libraries that has tracked the (ISO) language specifications for more than &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-full-width.php","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/www.emprog.com\/emprog\/wp-json\/wp\/v2\/pages\/2784"}],"collection":[{"href":"https:\/\/www.emprog.com\/emprog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.emprog.com\/emprog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.emprog.com\/emprog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emprog.com\/emprog\/wp-json\/wp\/v2\/comments?post=2784"}],"version-history":[{"count":6,"href":"https:\/\/www.emprog.com\/emprog\/wp-json\/wp\/v2\/pages\/2784\/revisions"}],"predecessor-version":[{"id":2806,"href":"https:\/\/www.emprog.com\/emprog\/wp-json\/wp\/v2\/pages\/2784\/revisions\/2806"}],"wp:attachment":[{"href":"https:\/\/www.emprog.com\/emprog\/wp-json\/wp\/v2\/media?parent=2784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}