DOI: 10.5281/zenodo.890996
title: Robustness Assessment Via Simulation-Based Fault Injection Of The Implementation Level Models Of The Leon3, Mc8051, And Pic Microcontrollers In Presence Of Stuck-At, Bit-Flip, Pulse, And Delay Fault Models

description: This dataset package contains the results of fault injection experiments for RTL and implementation-level models 3 microprocessors (LEON3, MC8051, PIC).

<strong>    1.    Package contents:</strong><br>
    - raw traces of fault injection experiments: *.lst files<br>
    - analysis results grouped by fault models: *.html files in the /REPORT subfolders<br>
    - summary for each targeted HDL model and fault model: index.html in each design folder

To facilitate the navigation through the contents, it is organized as a tree of *.html pages. The root page is 'index.html' in the archive root.<br>
Additionally, to observe the raw traces for each experiment in the convenient form, the *.lst files are processed on the fly by custom python-script, returning the interactive *.html page. Each observation trace is a table, where: <br>
    - each row represents an observation vector, comprising {simulation time stamp}, {flags}, {internal state}, {outputs}.<br>
    - each cell is highlighted:<br>
        a) green if matches with reference trace (fault-free simulation),<br>
        b) red   if mismatches with reference trace, denoting error for internals / failure for outputs,<br>
        c) violet in case of vector whose timestamp was not in reference (unexpected transition).<br>
        These highlighting options can be customized by modifying the linked *.css files.

        <br>
<strong>        2. Installation</strong><br>
2.1 Ensure to have Web-Server installed (Apache preferable). For instance, XAMPP: https://www.apachefriends.org/index.html

2.2 Ensure to have python ver. 2.x installed. Type in terminal (cmd console in Windows): “python --version” – if the output looks like &gt; Python 2.x.x – python is installed. <br>
Otherwise install the relevant 2.x.x distribution: https://www.python.org/<br>
Add python installation path to environment path variable.<br>
  <br>
2.2 Ensure that Web-server is configured to execute CGI scripts, particularly python-scripts:<br>
In the 'httpd.conf' file (XAMMP control panel – button config in front of apache module):<br>
    – search for line Options Indexes FollowSymLinks and add ExecCGI, so the resulting line looks like this: <br>
        Options Indexes FollowSymLinks ExecCGI<br>
    – search for #AddHandler cgi-script .cgi, uncomment (remove #), and append “.py” to this line, so the resulting line:<br>
        AddHandler cgi-script .cgi .pl .asp .py 

2.3 Unpack the *.zip package into the folder on the Web Server. For instance 'Web-server root folder'/ExperimentalResults.<br>
The Web-Server root can be configured in the ‘httpd.conf’ file in the DocumentRoot section, for instance: <br>
    DocumentRoot "F:/HTWEB"<br>
    &lt;Directory "F:/HTWEB"&gt;<br>
    ...

2.4 In the web-browser navigate to the root directory of extracted package:<br>
http://localhost/ExperimentalResults/index.html

 

<strong>3. How to read the contents</strong><br>
The root page contains links to different analysis reports, for each HDL design under study and considered fault models.  <br>
The pages on the first tree level, represent the summary for each injection campaign, describing the rate of failure modes, number of experiments, latencies, and supplementary info. <br>
The pages on the second tree level are the detailed analysis reports for each experiment, detailing the fault target, parameters of injected fault, detected failure mode, number of errors, etc. <br>
The cells of the first column are highlighted a) in green if injection did not cause the failure, b) in red otherwise. The links in this first column navigate to the detailed traces for each experiment. <br>
The latter requires that Web-server is configured to execute the python-scripts (see section 2 - Installation); otherwise the raw traces (*.lst files in ./results folders) can be observed by any text editor (notepad++, etc.).<br>