Sevensoft logo

Sevensoft Ltd

When it has to be right

Sometimes a product must have no hidden defects. Releasing a beta version and waiting for feedback from the customers is not acceptable when the cost of failure is too high. Where the potential results of a product failure include gas explosions and harm to patients, most countries have regulations that require products to be certified by a suitable authority before deployment.

Sevensoft has experience in the development of certified products, both in terms of electronics and software. There is more information about IS electronics on the Micropower and IS page.

IEC 61508

Sevensoft also has experience in the development of embedded software that conforms to the Food and Drugs Administration (FDA) moderate concern level.

Development of certified software requires the adoption of proper development processes and the discipline to follow them. It is very difficult to conform to the certification requirements unless the development process is sufficiently controlled and documented from the outset. A set of enumerated software requirements is the foundation of the process as it is virtually impossible to audit the completeness of the verification tests without them. Once an enumerated set of verification tests has been written, a traceability matrix can demonstrate that all the requirements have been met. Writing software requirements with the mindset of 'how will we verify this?' is very beneficial, and quickly puts a damper on 'feature creep'.

Certified products may require maintenance releases, and just like the initial release these must not contain serious defects. The FDA places tremendous emphasis on regression testing as their analysis of product recalls shows that 88% of recalls caused by software defects would or should have been caught by regression testing. The use of a software unit testing tool such as Tessy is immensely useful as it generates a test harness, applies the testcases, tests the results, displays the execution paths and generates a summary report automatically. Regression testing therefore becomes so quick that there is no excuse for not doing it. Tessy can be used to generate a comprehensive set of testcases using the classification tree method.

Polyspace is a software test tool that covers a different set of software defects as it focuses on runtime exceptions. Software can be analysed for runtime exceptions such as divide by zero or array bounds violations automatically, and hence comprehensively. The weakness of this fully automatic approach is that no tests are made to check that the result of a software unit matches the requirements.

If you would like more information about our services please contact us