XFTA in a nutshell

Simply put, XFTA is a powerful and efficient calculation engine for fault trees and related models.

Combining Expressive Power with Computational Efficiency

XFTA is a calculation engine: it reads a model into one or several text files, performs a number of calculations on this model, and prints out results of these calculations into one or several text files. The calculations to be performed are described by means of scripts, i.e. text files containing sequences of commands. There are commands to load models and scripts, extract minimal cutsets, calculate values of qualitative and probabilistic indicators (including probability of the top-event, importance measures, failure intensity and safety integrity levels), print out various data, in a word to perform all operations involved in probabilistic safety analyses.

The syntax for equations that describe basic and intermediate events is quite intuitive. If you know what a fault tree is, you should have no problem to write down your models. The syntax for commands is slightly more specific. However, the same scripts are used over and over. In a word, even a non experienced analyst should be able to make a simple use of XFTA quickly.

The above presentation is however quite reductive because XFTA can be used for much more advanced purposes.

S2ML+SBE: a full-fledged object-oriented language to design models

XFTA provides a full-fledged object-oriented language to design models: S2ML+SBE. S2ML+SBE is the combination of S2ML, which stands for system structure modeling language and SBE, which stands for stochastic Boolean equations. Systems of stochastic Boolean equations are the underlying mathematical framework of fault trees and reliability block diagrams: any fault tree or reliability block diagram is eventually a system of stochastic Boolean equations. S2ML is a coherent and versatile set of object-oriented constructs that help to design and to structure models. Indeed, you are not forced to use S2ML constructs if you do not want to, i.e. you can just write down systems of stochastic Boolean equations. Nevertheless, object-oriented constructs provide a significant additional expressive power and induce no additional cost, as S2ML+SBE models are automatically (and efficiently) translated into systems of stochastic Boolean equations.

S2ML+SBE is a textual modeling language. In addition to this textual format, XFTA supports the Open-PSA format, which is a XML grammar systems of stochastic Boolean equations (your can find here the specification of the original format). The Open-PSA format has been extended to support S2ML constructs. The two formats, S2ML+SBE and (extended) Open-PSA are thus equivalent.

Today's most powerful and complete calculation engine

XFTA implements state-of-the-art algorithms and data structures to assess fault trees. There are actually two main approaches to assess fault trees. The first one consists in extracting directly the minimal cutsets of the top event, then in performing calculations of probabilistic indicators from these minimal cutsets. The second one consists in building a binary decision diagram encoding the structure function of the top event, then in performing calculations of probabilistic indicators from this binary decision diagram. In this second approach, minimal cutsets can also be extracted, but starting from the binary decision diagram rather than from the model itself.

XFTA algorithms work for both coherent and non-coherent models. XFTA implements also probabilistic assessments:

Calculation of safety integrity levels require the calculation of system availability, average availability, system failure intensity, approximation of system reliability, probability of failure on demand, probability of failure per hour…


The XFTA book provides an in-depth presentation of mathematical and algorithmic foundations of probabilistic safety analyses, a complete description of XFTA commands and numerous application examples.

You can download a free pdf version here. I am currently looking for a suitable editor to distribute a paper version.


XFTA is provided free of charge. Even though there is no license fee, there are conditions for using XFTA. Downloading the software means you accept with no restriction the terms of the License Agreement.

Version 2

The current version of XFTA is version 2.0.4 (Windows only).

Warning: On Windows, XFTA is compiled with Microsoft Visual Studio C++ 2019. You may need to install the Microsoft redistributable libraries to make it run (typically is you get the message "No xfta DLL"). Microsoft provides an installer for these libraries: VC_redist.x64.exe.

Alternatively (and may be preferably) you can find this installer on Visual Studio download web pages. For security reasons, you should download these libraries only from Microsoft websites.

Version 1

You can still downloaded version 1.3.1. The user manual for this version is included in the zip archive.


XFTA is developed by Prof. Antoine B. Rauzy.

Norwegian University of Science and Technology

Richard Birkelands vei 2B (Office P307)

7491 Trondheim, Norway

+47 918 97 151 (mobile phone)