Safety-critical software in machinery applications

Timo Malm, Matti Vuori, Jari Rauhamäki, Timo Vepsäläinen, Johannes Koskinen, Jari Seppälä, Heikki Virtanen, Marita Hietikko, Mika Katara

    Research output: Book/ReportReport

    1 Citation (Scopus)


    This report presents some important factors related to safety-critical software in machinery. The following subjects are considered in the text, bearing in mind the subject: the role of safety-critical software in machinery, statistics of software faults, requirements, safety and security principles, risk and hazard modelling, agile development, safety process patterns, safety-related architectures, verification and validation, phases of development and formal methods. The general observation is that there are many methods for software design and it is difficult to choose the most relevant ones. The report shows some criteria for selecting methods and some aspects related to current topics. There are so many different safety-critical software applications in machinery that the research found the most interesting topics and then focused on them. The statistics show that most defects arise during the requirements specification and architectural design phases of the lifecycle. This is before any coding. The statistics also show that the defect density is higher in large programs, i.e. the number of defects increases exponentially as the program size grows. It may therefore be better to separate safety-critical and standard code in order to keep the first one small. The separation of modules and keeping the connections between modules under control and narrow is recommended in order to have advantages in testing, understanding of the program, limited error spreading, program development etc. There are many kinds of self-diagnostic and monitoring functions that may be complex and increase the number of defects, but they increase safety and are needed in safety-critical code. The standard IEC 61508-3, published in 2010, lays down many functional requirements for safety-critical programmable systems. However, there are also other standards related to functional safety and the safety of control systems. This paper also considers some aspects related to the safety of agile methods. The standards show the requirements related to the phases of the V-model, but agile methods are not considered. The functional safety of software is achieved through systematic (not intuitional) use of adequate methods in all phases of the programmable system lifecycle. Programmable systems contain hardware and software, both of which need to be considered in the validation process.
    Original languageEnglish
    Place of PublicationEspoo
    PublisherVTT Technical Research Centre of Finland
    Number of pages127
    ISBN (Electronic)978-951-38-7790-3
    Publication statusPublished - 2011
    MoE publication typeNot Eligible

    Publication series

    SeriesVTT Tiedotteita - Meddelanden - Research Notes


    • software
    • safety
    • safety-related
    • machinery
    • control system


    Dive into the research topics of 'Safety-critical software in machinery applications'. Together they form a unique fingerprint.

    Cite this