This thesis only evaluates LnCm having a maximum of four faults. That is,
in addition to the aforementioned double-bits errors, L1C2 and L2C1,the thesis also assumes triple faults models, where (i) three bits are flipped in a single location (L1C3) and (ii) three single bits are flipped in three different locations (L3C1), and quadruple bits errors, where (i) fours bits are flipped in a single location (L1C4), (ii) four single bits are flipped in four different locations (L4C1) and (iii) double bits are flipped in a pair of locations (L2C2).
3.3
Target Systems
An overview of each target program used in this thesis is provided in following sections. From this point onwards, program is used interchangeably with module and software system (or system for short), unless it is otherwise stated.
3.3.1
Flight Control
Flight Control is a safety-critical system, Mathwork’s implementation of a flight control system for the longitudinal motion of an aircraft [109]. First order linear approximations of the aircraft and actuator behaviour are connected to an analog flight control design that uses the pilot’s stick pitch command as the set point for the aircraft’s pitch attitude and uses aircraft pitch angle and pitch rate to determine commands. To perturb the system, a simplified Dryden wind gust model is incorporated. Within the flight control system, two programs were used for instrumentation:
• Derivatives: This program updates derivatives for the root system • Step: This program updates the model step
3.3. TARGET SYSTEMS 30
3.3.2
SUSAN (Smallest Univalue Segment Assimilating -
Nucleus)
SUSAN is an image recognition package, developed for noise filtering and for recognising corners and edges in Magnetic Resonance Image (MRI) of the brain [152]. SUSAN is available as a self-contained C program from [53]. SUSAN is also available as a program in the automotive package of the MiBench suite [53]. It is typical of a real world program that would be employed for a vision based qual- ity assurance application. For example, it may be used for digitally processing images to determine the position of edges and/or corners therein for guidance of unmanned vehicle. In SUSAN, three different programs were targeted:
• Corners: Performs corner (two feature) detection. • Edges: Performs edge (one feature) detection.
• Smoothing: Performs structure preserving noise reduction (noise filter- ing).
The input data for SUSAN are set of Netpbm grayscale image format (PGM).
3.3.3
MiBench Suite
MiBench [53] suite consists of a benchmark suite targeting embedded process- ing environments. In the MiBench suite, programs from these packages were instrumented:
Automotive and Industrial Control Package
Benchmarks in the Automotive and Industrial Control (Automotive for short) package are intended to show use of embedded processors in embedded control
3.3. TARGET SYSTEMS 31
systems. These processors require performance in basic math abilities, bit ma- nipulation, data input/output and simple data organisation. Typical real appli- cations for these programs are air bag controllers, engine performance monitors and sensor systems.
Two benchmarks from the Automotive package were chosen to be used for fault injection. These programs are selected because they perform simple, usually necessary, mathematical calculations that mostly do not have dedicated support in embedded systems. For example, cubic function solving and integer square root are all necessary calculations for calculating road speed or other vector values.
• Cubic Equation Calculator (Cubic): This program calculates the
square root of the input.
• Square Root Calculator (Isqrt): This program calculates the roots
of a cubic equation using floating point arithmetic implemented in the software.
The input data for these programs is a fixed set of constants.
Telecommunications Package
With the explosive growth of the Internet, many portable consumer devices are integrating wireless communication. These benchmarks consist of voice encod- ing and decoding algorithms, frequency analysis and a checksum algorithm. The programs chosen from the Telecommunications package are as follows:
• CRC: This program performs a 32-bit Cyclic Redundancy Check (CRC) on a file. CRC checks are often used to detect errors in data transmission. The input data for CRC are speech samples.
3.3. TARGET SYSTEMS 32
• FFT: This programs performs a Fast Fourier Transform and its inverse transform on an array of data. Fourier transforms are used in digital signal processing to find the frequencies contained in a given input signal. The input data is a polynomial function with pseudorandom amplitude and frequency sinusoidal components.
Network Package
The benchmarks in this package represent embedded processors in network de- vices like switches and routers. The work done by these embedded processors in- volves shortest path calculations, tree and table lookups and data input/output. The algorithms used to show the networking category include finding a shortest path in a graph and creating and searching a Patricia trie data structure. The following programs are chosen in the Network package:
• Dijkstra: The Dijkstra program constructs a large graph in an adjacency matrix representation and then calculates the shortest path between every pair of nodes using repeated applications of Dijkstra’s algorithm. Dijk- stra’s algorithm is a well known solution to the shortest path problem and completes inO(n2) time.
• Patricia: A Patricia trie is a data structure used in place of full trees with very sparse leaf nodes. Branches with only a single leaf are col- lapsed upwards in the trie to reduce traversal time at the expense of code complexity. Usually, Patricia tries are used to represent routing tables in network applications. The input data for this benchmark is a list of IP traffic from a highly active web server for a two hour period. The IP numbers are disguised. The following algorithms are targeted from Patricia:
– insert: This program performs insertion operations, i.e., it adds new element(s) in the trie.
3.3. TARGET SYSTEMS 33
– remove: This program performs deletions operations by deleting the specified element(s) from the trie.
– search: This program performs lookup operations in order to deter- mine if an element exists in the trie.
Security Packages
As the Internet continues to gain popularity in e-commerce activities, the impor- tance of data security is also increasing. The Security package includes several common algorithms for data encryption, decryption and hashing. One pro- gram is chosen to be targeted, rijndael, the new Advanced Encryption Standard (AES). AES is based on a design principle known as a substitution-permutation network, combination of both substitution and permutation, and is fast in both software and hardware.
• Rijndael: Rijndael was selected as the National Institute of Standards and Technologies Advanced Encryption Standard (AES). It is a block cipher with the option of 128-, 192-, and 256-bit keys and blocks. The input data sets are ASCII text file of articles found online. The following algorithms are targeted:
– encfile: This program performs encryption operations, i.e, it en- crypts the input data.
– decfile: This program performs decryption operations on an en- crypted input.