Expand description
LibCASR
LibCASR provides API for parsing stacktraces, collecting crash reports, triaging crashes (deduplication and clustering), and estimating severity of crashes.
It can analyze crashes from different sources:
- AddressSanitizer
- Gdb output
and program languages:
- C/C++
- Rust
- Go
- Python
It could be built with exploitable feature for severity estimation crashes
collected from gdb. To save crash reports as json use serde feature.
Modules
- Asan module implements
ParseStacktrace,ExceptionandSeveritytraits for AddressSanitizer reports. - Constants for signals and stack trace filtering.
- Cpp module implements
Exceptiontrait for C++ exception messages. - A custom Casr error.
- Provides
Exceptiontrait. - Execution_class module contains the
ExecutionClassstructure which holds an information about crash severity.CLASSESholds raw instances of ExecutionClass structure. - Gdb module implements
ParseStacktrace,ExceptionandSeveritytraits for Gdb output. - Go module implements
ParseStacktraceandExceptiontraits for Go panic output. - Python module implements
ParseStacktraceandExceptiontraits for Python reports. - Report contains the main struct
CrashReportwith all information about crash. - Rust module implements
Exceptiontraits for Rust panic messages. - Provides
Severitytrait. - Provides API’s for parsing, filtering, deduplication and clustering.
Macros
- This macro updates variables used to remove trusted functions from stack trace