In order to provide a technical advice to the Safety Authority in the field of safety-critical software, IRSN’s work relies significantly on code examination. Unfortunately, no absolute solution exists -and will ever exist- to answer a global question like “is this program correct?”
The fast growth of computer capacities allows software “complexity” (size, number of branches ...) to be multiplied by ten with each generation. Due to software characteristics like the combinatorial blast or the absence of continuity, the verification by the manufacturer and the assessment by IRSN increase in difficulty even much faster than this. Also, new industrial practices raise new challenges as they could suppress crucial verification steps.
To handle these difficulties, IRSN devotes efforts to research and development actions in order to introduce new tools and methodologies based on the newest scientific progress.
However, hard scientific difficulties prevent the evolution in this area to be as fast as the complexity increase. Thus, maintaining an acceptable safety level requires limiting the complexity escalation to a rate compatible with the verification and assessment means, either by the will of the utilities or imposed by the regulator.