IEC 62304
IEC 62304:2006 (Medical Device Software- Software Life-cycle Processes) is a functional safety standard. A system to which IEC 62304 is applicable often has varying levels of risk to the user or different safety requirements. To accommodate this IEC 62304 has three Software Safety Classes (Class A, Class B and Class C), with Class C being assigned to software systems where death or serious injury is possible.
In the European Union compliance with IEC 62304 will satisfy the essential requirements contained in Medical Devices Directive 93/42/EEC (MDD) with amendment M5 (2007/47/EC) as related to software development. In the United States, the US FDA will also accept ANSI/AAMI/IEC 62304 as evidence that medical device software has been designed to an acceptable standard and covers the following regulatory processes: 510(k), IDE, PMA, HDE, Software Validation (FDA Recognition List Number: 020 Publication Date: 09/09/2008). The relationship of IEC 62304 to other standards is documented on Annex C. Of particular note is “Readers of the standard are encouraged to use IEC 61508 as a source for good software methods, techniques and tools while recognising that other approaches, both present and future, can provide equally good results.

Testing tools for compliance with IEC 62304 recommendations
QA Systems enables organisations to accelerate IEC 62304 compliance with automated static analysis and software testing tools:
STATIC ANALYSIS
INTEGRATED STATIC ANALYSIS
Automated analysis synchronised with Cantata
CANTATA TEST ARCHITECT
Understand, define and control software architecture
SOURCE CODE METRICS
Automated source code metrics for C/C++
SOFTWARE TESTING
CANTATA
Automated unit and integration testing for C/C++ code
CANTATA TEAM REPORTING
Test status management dashboard add-on
ADATEST 95
Automated unit and integration testing for Ada code
Tool Certification
QA Systems’ tools have been classified and certified by SGS-TÜV GmbH, an independent third party certification body for functional safety, accredited by Deutsche Akkreditierungsstelle GmbH (DAkkS). Cantata has been classified as a Tool Confidence Level (TCL) 1 tool, and is usable in development of safety related software according to IEC 62304:2006 up to SW safety Class C.
The tool certification kit for IEC 62304 is available to ease our customers’ path to certification. This contains everything needed to prove that Cantata fulfills IEC 62304 recommendations as well as guidance to help you to achieve compliance.
Please contact us for more information about the tool certification kit.
Software testing for IEC 62304 compliance
The Cantata testing tool enables developers to automate unit and integration testing and to verify IEC 62304 compliant code on host native and embedded target platforms.
Cantata helps accelerate compliance with the standard’s software testing requirements by automating:
Our IEC 60880 Standard Briefing traces the requirements of IEC 60880, identifying the scope of those which are supported by Cantata and identifies how the requirements are supported by Cantata.
Please contact us for more information on Cantata for IEC 60880.
The IEC 62304 software testing recommendations by Class and where these are supported by Cantata are summarised in the tables below:

IEC 62304: Section 5.1 Software development planning
Clauses/Subclauses | Class A | Class B | Class C | Cantata |
---|---|---|---|---|
5.1.1 Software development plan | X | X | X | Yes |
5.1.2 Keep software development plan updated | X | X | X | Yes |
5.1.4 Software development standards, methods and tools planning | – | – | X | Yes |
5.1.5 Software integration and integration testing planning | – | X | X | Yes |
5.1.6 Software VERIFICATION planning | X | X | X | Yes |
5.1.10 Supporting items to be controlled | – | X | X | Yes |
Key | |
---|---|
X | Recommended for this class |
IEC 62304: Section 5.5 Software unit implementation and verification
Clauses/Subclauses | Class A | Class B | Class C | Cantata |
---|---|---|---|---|
5.5.2 Establish software unit verification process | – | X | X | Yes |
5.5.3 Software unit acceptance criteria | – | X | X | Yes |
5.5.4 Additional software unit acceptance critera | – | – | X | Yes |
5.5.5 Software unit verification | – | X | X | Yes |
IEC 62304: Section 5.6 – Software integration and integration testing
Clauses/Subclauses | Class A | Class B | Class C | Cantata |
---|---|---|---|---|
5.6.3 Test integrated software | – | X | X | Yes |
5.6.4 Integration testing content | – | X | X | Yes |
5.6.5 Verify integration test procedures | – | X | X | Yes |
5.6.6 Conduct regression tests | – | X | X | Yes |
5.6.7 Integration test record contents | – | X | X | Yes |
5.6.8 Use software problem resolution process | – | X | X | Yes |
IEC 62304: Section 5.7 – Software system testing
Clauses/Subclauses | Class A | Class B | Class C | Cantata |
---|---|---|---|---|
5.7.1 Establish test for software requirements | – | X | X | Yes |
5.7.2 Use software problems resolution process | – | X | X | Yes |
5.7.3 Retest after changes | – | X | X | Yes |
5.7.4 Verify software system testing | – | X | X | Yes |
5.7.5 Software system test record contents | – | X | X | Yes |
IEC 62304: Section 5.8 – Software release
Clauses/Subclauses | Class A | Class B | Class C | Cantata |
---|---|---|---|---|
5.8.1 Ensure software verification is complete | – | X | X | Yes |
5.8.2 Document known residual anomalies | – | X | X | Yes |
5.8.6 Ensure activities and tasks are complete | – | X | X | Yes |
5.8.7 Archive software | – | X | X | Yes |
IEC 62304: Section 6.0 – Software maintenance process
Clauses/Subclauses | Class A | Class B | Class C | Cantata |
---|---|---|---|---|
6.1 Establish software maintenance plan | X | X | X | Yes |
6.3.1 Use established PROCESS to implement modification | X | X | X | Yes |
IEC 62304: Section 8 – Software configuration management process
Clauses/Subclauses | Class A | Class B | Class C | Cantata |
---|---|---|---|---|
8.1.1 Establish means to identify configurations items | X | X | X | Yes |
8.2.1 Approve change requests | X | X | X | Yes |
8.2.2 Implement changes | X | X | X | Yes |
8.2.3 Verify changes | X | X | X | Yes |
8.2.4 Provide means for traceability of change | X | X | X | Yes |
8.3 Configuration status accounting | X | X | X | Yes |
IEC 62304: Section 9 – Software problem resolution process
Clauses/Subclauses | Class A | Class B | Class C | Cantata |
---|---|---|---|---|
9.4 Use change control process | X | X | X | Yes |
9.5 Maintain records | X | X | X | Yes |
9.7 Verify software problem resolution | X | X | X | Yes |
9.8 Test documentation contents | X | X | X | Yes |
Start a free trial & get a complete copy of Cantata to evaluate using your code.
Static analysis for IEC 62304 compliance
Coding standards form an integral part of software acceptance criteria within the IEC 62304 standard.
The guidance in Annex B.5.5 explains the rationale as “To consistently achieve the desirable code characteristics, coding standards should be used to specify a preferred coding style. Examples of coding standards include requirements for understandability, language usage rules or restrictions, and complexity management.” Static analysis tools can dramatically reduce the manual effort in enforcing compliance with such coding standards. QA-Verify adds reporting to ensure this over time and across product versions.
Please contact us for more information on static analysis tools and QA-Verify for IEC 62304.
The IEC 62304 static analysis recommendations by Class are summarised in the tables below.

IEC 62304: Section 5.1 Software development planning
Clauses/Subclauses | Class A | Class B | Class C |
---|---|---|---|
5.1.1 Software development plan | X | X | X |
5.1.2 Keep software development plan updated | X | X | X |
5.1.4 Software development standards, methods and tools planning | – | – | X |
5.1.6 Software verification planning | X | X | X |
5.1.7 Software risk management planning | X | X | X |
5.1.9 Software configuration management planning | X | X | X |
5.1.10 Supporting items to be controlled | – | X | X |
Key | |
---|---|
X | Recommended for this class |
IEC 62304: Section 5.5 Software unit implementation and verification
Clauses/Subclauses | Class A | Class B | Class C |
---|---|---|---|
5.5.2 Establish software unit verification process | – | X | X |
5.5.3 Software unit acceptance criteria | – | X | X |
5.5.4 Additional software unit acceptance critera | – | – | X |
5.5.5 Software unit verification | – | X | X |
IEC 62304: Section 5.6 – Software integration and integration testing
Clauses/Subclauses | Class A | Class B | Class C |
---|---|---|---|
5.6.3 Test integrated software | – | X | X |
5.6.4 Integration testing content | – | X | X |
5.6.5 Verify integration test procedures | – | X | X |
5.6.6 Conduct regression tests | – | X | X |
5.6.7 Integration test record contents | – | X | X |
5.6.8 Use software problem resolution process | – | X | X |
IEC 62304: Section 5.7 – Software system testing
Clauses/Subclauses | Class A | Class B | Class C |
---|---|---|---|
5.7.1 Establish test for software requirements | – | X | X |
5.7.2 Use software problems resolution process | – | X | X |
5.7.3 Retest after changes | – | X | X |
5.7.4 Verify software system testing | – | X | X |
5.7.5 Software system test record contents | – | X | X |
IEC 62304: Section 5.8 – Software release
Clauses/Subclauses | Class A | Class B | Class C |
---|---|---|---|
5.8.1 Ensure software verification is complete | – | X | X |
5.8.2 Document known residual anomalies | – | X | X |
5.8.6 Ensure activities and tasks are complete | – | X | X |
5.8.7 Archive software | – | X | X |
IEC 62304: Section 6.0 – Software maintenance process
Clauses/Subclauses | Class A | Class B | Class C |
---|---|---|---|
6.1 Establish software maintenance plan | X | X | X |
6.3.1 Use established PROCESS to implement modification | X | X | X |
IEC 62304: Section 8 – Software configuration management process
Clauses/Subclauses | Class A | Class B | Class C |
---|---|---|---|
8.1.1 Establish means to identify configurations items | X | X | X |
8.1.2 Identify SOUP | X | X | X |
8.2.1 Approve change requests | X | X | X |
8.2.2 Implement changes | X | X | X |
8.2.3 Verify changes | X | X | X |
8.2.4 Provide means for traceability of change | X | X | X |
8.3 Configuration status accounting | X | X | X |
IEC 62304: Section 9 – Software problem resolution process
Clauses/Subclauses | Class A | Class B | Class C |
---|---|---|---|
9.4 Use change control process | X | X | X |
9.5 Maintain records | X | X | X |
9.6 Analyse the problem for trends | X | X | X |
9.7 Verify software problem resolution | X | X | X |
9.8 Test documentation contents | X | X | X |