Philips ULTRhy wins the Q4 2023 Software Quality Assurance Award
TIOBE rewards the best TiCS projects with the quarterly TIOBE Software Quality Assurance Award. There are more than 8,000 software projects of various multinationals worldwide that qualify divided into 3 categories:
TIOBE Software Quality Award Q4 2023
The winner of the most ambitious award, the large-sized projects, for the fourth quarter of 2023 is …
Projects are listed below (out of 436 projects):
|Philips Bothell US
|Viterra Rotterdam NL
|Eleva System Control
|Philips Pune IN
|CT ResultsServices Apps
|Philips Shenyang CN
|Vanderlande Veghel NL
Projects are (out of 1,898 projects):
|TomTom Amsterdam NL
|Philips Bengaluru IN
|Philips Hamburg DE
Project is (out of 5,218 projects):
|P2 DevOps Tagged SDK Test Project
|Storz Tuttlingen DE
ULTRhy controls embedded imaging systems handling the acoustics, signal and image processing, user experience, patient and image management, media, connectivity, service, and administration of the devices it serves.
For this occasion, we have interviewed Bob Desmarais, who is the lead architect of the ULTRhy platform. He is responsible from concept through delivery of first product.
Advancing the efficiency and quality of the embedded software for Philips imaging products ranks as important as the acoustics, signal and image processing. We summarize the goal as half the code with twice the efficiency of existing platforms, and we exceeded both.
Before writing the first line of code, we set standards for software development and adopted a strategy that each standard must be measured by tooling to demonstrably show we met the standard. After experimenting with several tools we selected Resharper from Jet Brains for static analysis, Squish Coco from Frog Logic for unit test coverage, and MS Test for the unit test execution engine.
We invested in platform tooling for automated integration testing, event recording with automated script generation for creating clinically accurate test scenarios, C# based scripting to extend the recorded script for stress testing, randomization, and fault injection. We built dynamic analysis into the platform for performance and resource monitoring. Failing to meet an internal quality check leads to error log entries and error log entries are treated as automation test failures. We expose and address problems early, before they are allowed to pile up.
Two roles. First as a view into the current state of the evolving system. You can optimize only what you can see. Watching code coverage increase and duplicate code decrease motivates right behavior. Second as a source for tools. Given this is a new platform, we did not expect to see much code duplication and were surprised by the duplication numbers reported. We have integrated PMD code duplication tooling into our build and it is checked with every delivery by our CI machinery.
There are two problems we ran into. First the internal connections for the Coverity server proved unstable and remained so for months; there were extended periods where we could not rely on the TiCS dashboard as the results bounced around daily. The second is the speed with which TIOBE vendors such as Coverity and Parasoft support language features. We ran into analysis issues as we adopted the latest language features supported by our compiler vendors: Intel and Microsoft. As an aggregator, TIOBE is able to help apply right pressure to vendors.