I am working on a software-based fault injection technique based on gdb to inject faults (bit flip) into a running program (c code). I have developed a tool to perform fault injecting at run-time. When I inject, for example, 1000 faults, the program produce 1000 log files. In the final step, we should analyze these files to produce fault injection results. the content of log files may be:
- correct results, exited normally
- exited normally, but result is wrong
- program received SIGSEGV
- program received SIGILL
- program received SIGTRAP
How to produce an accurate results? sometimes: I found in log file a strange error message from gdb environment
how to analyze these log files? can I analyze these results for the following categories:
- time-out (hung)
For time out (hung) sometimes I found in log files a SIGHUG. In another experiment, log is empty.
Sometimes the log file contains an output like this:
[setting tty state failed in terminal_inferior: Input/output error] [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
what this message means? the program crash? in what category should I put such result?