README 1.8 KB

1234567891011121314151617181920212223242526272829
  1. Failures of computer programs are omnipresent in the information technology
  2. industry: they occur during software development, software testing, and also in
  3. production. Failures occur in programs from all levels of the system stack.
  4. The program environment differ substantially between kernel space, user space
  5. programs written in C or C++, Python scripts, and Java applications, but the
  6. general structure of failures is surprisingly similar between the mentioned
  7. environments due to imperative nature of the languages and common concepts such
  8. as procedures, objects, exceptions.
  9. Satyr is a collection of low-level algorithms for program failure processing,
  10. analysis, and reporting supporting kernel space, user space, Python, and Java
  11. programs. Considering failure processing, it allows to parse failure
  12. description from various sources such as GDB-created stack traces, Python stack
  13. traces with a description of uncaught exception, and kernel oops message.
  14. Infromation can also be extracted from the core dumps of unexpectedly
  15. terminated user space processes and from the machine executable code of
  16. binaries. Considering failure analysis, the stack traces of failed processes
  17. can be normalized, trimmed, and compared. Clusters of similar stack traces can
  18. be calculated. In multi-threaded stack traces, the threads that caused the
  19. failure can be discovered. Considering failure reporting, the library can
  20. generate a failure report in a well-specified format, and the report can be
  21. sent to a remote machine.
  22. Due to the low-level nature of the library and implementors' use cases, most of
  23. its functionality is currently limited to Linux-based operating systems using
  24. ELF binaries. The library can be extended to support Microsoft Windows and OS
  25. X platforms without changing its design, but dedicated engineering effort would
  26. be required to accomplish that.