Skip to content
forked from abrt/satyr

Automatic problem management with anonymous reports

License

Notifications You must be signed in to change notification settings

arhledvink/satyr

This branch is 195 commits behind abrt/satyr:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

14d235f · Jun 29, 2016
Mar 18, 2013
Jun 28, 2016
May 16, 2016
Jun 28, 2016
Oct 8, 2014
May 12, 2016
May 16, 2011
Mar 3, 2015
Jan 28, 2013
May 16, 2011
Mar 6, 2014
May 18, 2016
Mar 18, 2013
Aug 28, 2013
Aug 31, 2015
Apr 15, 2015
May 18, 2016
Apr 24, 2013
Mar 5, 2015
Jan 21, 2013
May 18, 2016

Repository files navigation

Failures of computer programs are omnipresent in the information technology
industry: they occur during software development, software testing, and also in
production.  Failures occur in programs from all levels of the system stack.
The program environment differ substantially between kernel space, user space
programs written in C or C++, Python scripts, and Java applications, but the
general structure of failures is surprisingly similar between the mentioned
environments due to imperative nature of the languages and common concepts such
as procedures, objects, exceptions.

Satyr is a collection of low-level algorithms for program failure processing,
analysis, and reporting supporting kernel space, user space, Python, and Java
programs.  Considering failure processing, it allows to parse failure
description from various sources such as GDB-created stack traces, Python stack
traces with a description of uncaught exception, and kernel oops message.
Infromation can also be extracted from the core dumps of unexpectedly
terminated user space processes and from the machine executable code of
binaries.  Considering failure analysis, the stack traces of failed processes
can be normalized, trimmed, and compared.  Clusters of similar stack traces can
be calculated.  In multi-threaded stack traces, the threads that caused the
failure can be discovered.  Considering failure reporting, the library can
generate a failure report in a well-specified format, and the report can be
sent to a remote machine.

Due to the low-level nature of the library and implementors' use cases, most of
its functionality is currently limited to Linux-based operating systems using
ELF binaries.  The library can be extended to support Microsoft Windows and OS
X platforms without changing its design, but dedicated engineering effort would
be required to accomplish that.

About

Automatic problem management with anonymous reports

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 91.6%
  • Python 5.6%
  • Makefile 1.4%
  • Ruby 0.7%
  • M4 0.5%
  • Shell 0.2%