Software developers often include additional code - so-called assertions - in their software, which checks application-specific invariants at runtime and helps to find programming errors. However, assertions can also detect errors that originate from transient hardware faults in memory. Although such an assertion can reduce the occurrence of silent data corruptions (SDCs) in the checked program state, it also increases the runtime of the program and thus the attack surface of the remaining program state. This tradeoff cannot be optimized for a nontrivial number of assertions by enumerating all possible assertion subsets and running a fault injection (FI) campaign for each configuration. Therefore, the goal of this master thesis is the development of a resource-saving method for optimizing assertion configuration that exploits compositionality properties of susceptibility to faults of program parts and requires only a single FI campaign. Based on the FI results of the configuration with all assertions, unknown configurations are to be computed first. Based on this - for a larger number of assertions N, for which even the mere computation of all 2^N configurations becomes impossible - it shall be investigated how the interdependencies of the assertions can be utilized, which allows the optimization of the configuration with integer linear optimization (ILP). The method will be evaluated using the fault injection tool FAIL* and more complex system software, such as the real-time operating system FreeRTOS and eCos. It is shown that with this method for the evaluated programs an average improvement of the fault tolerance of approximately 14% could be achieved in comparison to the original program, in which all assertions are contained.