brunoerg / chernobyl

Generate intelligent mutations by parsing the C++ AST

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


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

About

Generate intelligent mutations by parsing the C++ AST


Languages

Language:C++ 89.7%Language:CMake 6.3%Language:C 4.0%