Bitflip Fault Simulation Platform by Daniele Rizzieri (2021)

Related tags

MiscellaneousBFSP
Overview

BFSP [v1.05]

Bitflip Fault Simulation Platform by Daniele Rizzieri (2021)
The platform injects a random bitflip in each of N copies of a binary file. Then it executed them, analysing the outcomes.

Requirements

Required Linux packages:

  • python3
  • procps
  • gdb
  • systemd-coredump

Test Binary File Guidelines

In order to be properly testable, the program under test must be compliant with the following guidelines:

  1. Application's output must be redirected to the standard output virtual file (i.e., it must be instructed to print the functional results to screen/console)
  2. Application's behaviour and functional output must be fully deterministic: the tester must ensure that the entire code does not depend on time or other random variables. Examples:
    • if some kind of randomization function is involved, the tester must fix the randomization seed;
    • if some kind of time related function is involved, the tester must either suppress it or fix the time dependant variable;
  3. The test application must be compiled from code, following the here reported guidelines:
    1. During the compilation the debug symbols must be included using the GCC option "-g"
    2. The application must be statically linked, through the "-static" compilation option
    3. When compiling, the tester should avoid the compiler optimization options "-o#"

Quick Start

  1. Remember to set a value for the global setting variables in the code, not accessible via command parameters (see bfsp.py for more details):

    • binary file name
    • binary arguments
    • hang timeout
  2. Put SW executable file*** under test in ./run/ folder
    [*** Read carefully Test Binary File Guidelines section]

  3. Type "python3 bfsp.py -h" or "python3 bfsp.py --help" for usage info:

> Usage: python3 bfsp.py -n N [options]
   required:
      -n N,              N = number of injections
   options:
      -s r_seed,          Set the random seed to r_seed
      -v, --verbose,   To produce verbose output report
      -c, --clean,       To clean the bitflipped libraries folder and exit
      -z, --zip,           To compact all the reports in ./reports/ in a summary\

  1. See crash report in the file indicated at end of execution.

  2. See execution report in the file indicated at end of execution.

Output File Locations

  • ./bitflipped_binaries/ --> binaries with injected bitflips
  • ./bitflipped_binaries/results/ --> functional results of the binaries
  • ./core_dumps/ --> coredump files of crashed processes in
  • ./gdb_logs/ --> log files from gdb analysis of the coredumps
  • ./exec_reports/ --> reports with info about the exit codes and hang processes
  • ./crash_reports/ --> reports with info about the crashed processes
Owner
Daniele Rizzieri
Research Fellow @ DAUIN, PoliTo
Daniele Rizzieri
Code for ML, domain generation, graph generation of ABC dataset

This is the repository for codes for ML, domain generation, graph generation of Asymmetric Buckling Columns (ABC) dataset in the paper "Learning Mechanically Driven Emergent Behavior with Message Pas

Peerasait Prachaseree (Jeffrey) 0 Jan 28, 2022
An optional component handler for hikari, inspired by discord.py's views.

hikari-miru An optional component handler for hikari, inspired by discord.py's views.

43 Dec 26, 2022
Python template for Advent of Code event

Advent of Code Python Starter A tamplate for Advent of Code write in Python. Usage The project use poetry for project manager. Clone this repository a

Leonardo Gago 6 Dec 31, 2022
Virtual webcam that takes real webcam footage and replaces the background in order to have Virtual Backgrounds in MS Teams for Linux where the feature is unimplemented.

Background Remover The Need It's been good long while since Microsoft first released a Teams version for Linux and yet, one of Teams' coolest features

Dylan Turner 80 Dec 20, 2022
Syarat.ID Source Code - Syarat.ID is a content aggregator website

Syarat.ID is a content aggregator website that gathering all informations with the specific keyword: "syarat" from the internet.

Syarat.ID 2 Oct 15, 2021
SWS Filters App - SWS Filters App With Python

SWS Filters App Fun πŸ˜… ... Fun πŸ˜… Click On photo and see πŸ˜‚ πŸ˜‚ πŸ˜‚ Your Video rec

Sagar Jangid 3 Jul 07, 2022
A 3D Slicer Extension to view data from the flywheel heirarchy

flywheel-connect A 3D Slicer Extension to view, select, and download images from a Flywheel instance to 3D Slicer and storing Slicer outputs back to F

4 Nov 05, 2022
A log likelihood fit for extracting neutrino oscillation parameters

A-log-likelihood-fit-for-extracting-neutrino-oscillation-parameters Minimised the negative log-likelihood fit to extract neutrino oscillation paramete

Vid Homsak 1 Jan 23, 2022
WGGCommute - Adding Commute Times to WG-Gesucht Listings

WGGCommute - Adding Commute Times to WG-Gesucht Listings This is a barebones implementation of a chrome extension that can be used to add commute time

Jannis 2 Jul 20, 2022
This is a simple leaderboard for 30 days of Google Cloud program for students of ASIET

30daysleaderboard #Hacktoberfest - Please don't make changes in readme file. Only improvement in the project will be accepted. Update - Now if you run

5 Oct 29, 2021
Google Foobar challenge solutions from my experience and other's on the web.

Google Foobar challenge Google Foobar challenge solutions from my experience and other's on the web. Note: Problems indicated with "Mine" are tested a

Islam Ayman 6 Jan 20, 2022
Tools, guides, and resources for blockchain analysts to interface with data on the Ergo platform.

Ergo Intelligence Objective Provide a suite of easy-to-use toolkits, guides, and resources for blockchain analysts and data scientists to quickly unde

Chris 5 Mar 15, 2022
A Python tool to check ASS subtitles for common mistakes and errors.

A Python tool to check ASS subtitles for common mistakes and errors.

1 Dec 18, 2021
YourCity is a platform to match people to their prefect city.

YourCity YourCity is a city matching App that matches users to their ideal city. It is a fullstack React App made with a Redux state manager and a bac

Nico G Pierson 6 Sep 25, 2021
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild community 87 Dec 27, 2022
This library is an ongoing effort towards bringing the data exchanging ability between Java/Scala and Python

PyJava This library is an ongoing effort towards bringing the data exchanging ability between Java/Scala and Python

Byzer 6 Oct 17, 2022
A silly RPG(Not MMO) made in python

Project_PyMMo A silly RPG(Not MMO) made in python, FOR WINDOWS 10 ONLY! Hello tester, to install pymmo follow the steps bellow: 1.First install python

0 Feb 08, 2022
Painel simples com consulta de cep,CNPJ,placa e ip

Painel mpm Um painel simples com consultas de IP, CNPJ, CEP, PLACA, TELEFONE, CPF e NOME Início 🌐 apt update && apt upgrade -y pkg i python git pip i

8 Feb 27, 2022
It is Keqin Wang first project in CMU, trying to use DRL(PPO) to control a 5-dof manipulator to draw line in space.

5dof-robot-writing this project aim to use PPO control a 5 dof manipulator to draw lines in 3d space. Introduction to the files the pybullet environme

Keqin Wang 4 Aug 22, 2022
An animal facts python module

An animal facts python module

Fayas Noushad 3 Dec 19, 2021