The Qt Company, known globally for its cross-platform software framework used in the development of millions of devices and applications, markets SDK technology that enables developers in all industries, from automotive to medical to mobile, to design and deploy software in an efficient and cost-effective manner. One use case of Qt is in safety critical systems, where the concept of functional safety – minimising risk to humans by detecting dangerous conditions and adjusting for or avoiding them – is cornerstone. The Qt Safe Renderer, launched in 2018, enables developers to design and add safety critical UI elements to Qt based safety critical systems. Some applications for the Qt Safe Renderer include the addition of warning indicators in automotive digital cockpits; medical devices with human-machine interfaces that require being responsive and intuitive, so that care providers can make potentially life-saving decisions; and in the industrial automation sector, where an error indicator in malfunctioning equipment is critical to preventing injury.
The Qt Company, while unique in its software offerings, shares in common one thing with thousands of other companies: it incorporates froglogic’s tools into its development processes in order to deliver high-quality, well-tested products.
“Customers who are using this need to have some confidence that [the software] is working properly.”
The Qt Company uses froglogic’s Code Coverage Analysis tool Squish Coco to reach safety standards in order to make their products certified, reported Asmo Saarela, Senior Software Engineer and Test Lead at The Qt Company. In the automotive case given above, this would mean achieving ISO-26262 safety standards, including ASIL- (Automotive Safety Integrity Level) D, the highest certification level which requires quantifying MC/DC (Modified Condition/Decision Coverage), a code coverage metric which Coco can determine.
“Using the tool Coco, and measuring MC/DC, was essential for us to reach these [certification] levels.”
At first, developers at The Qt Company ran Coco manually on Windows and on a VM on Linux. For new features, developers are turning toward using their Continuous Integration system COIN, integrated with Coco.
“When we had the tool in use, the software developers who wrote autotests thought ‘OK, we have covered everything,’ and then we ran Coco for the first time, and coverage was pretty low – between 50 and 60%. Achieving a higher level of coverage was possible to do in parallel to testing, as well as bug fixing. We used an iterative approach.”
For reporting purposes, The Qt Company utilises Coco’s HTML report generator after first having used the built-in CoverageBrowser. This feature makes it easy for the developers to deliver a standalone report for achieving certification. Developers also made note of Coco’s ease of use across multiple operating systems and with different compilers, characteristics of Coco that made the tool stand out among the competition.
The Qt Company reported on future plans to expand the use of Coco within its software development process. The Qt Company plans to use the tool to validate other modules, after it is fully integrated with their Continuous Integration system COIN.