/chernobyl

Generate intelligent mutations by parsing the C++ AST

Primary LanguageC++


Bitcoin Coverage
Chernobyl

Generate intelligent mutations by parsing the C++ AST

๐Ÿ“– Introduction

This repository contains the source code of the Chernobyl mutation generator. It is used by the Bitcoin Coverage project to generate intelligent mutations for the Bitcoin Core project. It uses clang-tidy checks to generate mutations.

๐Ÿš€ Adding a new mutator

Here is a step-by-step guide to add a new mutator to Chernobyl.

  • Create a new clang-tidy check in checks/.
  • Import the new check in mutator_module.cpp.
  • Register the new check in mutator_module.cpp and give it a name.

๐Ÿ“ฆ Building

To build the project, you need to install the following dependencies:

  • CMake
  • libclang-16-dev
  • clang-tidy-16 source code in ./clang-tidy

See .github/workflows/cmake-single-platform.yml for an example of how to build the project.

๐Ÿ“ License

MIT - Aurรจle Oulรจs