Skip to main content

Simplify and wrap the use of clang-tidy and coccinelle

Project description

Schecker

A Security/Safety Checker for C/C++ based on Clang-Tidy and Coccinelle.

Usage

pip install schecker
#!/usr/bin/python

import sys
import schecker

paths = [ './path/to/your/c/project' ]
excludes = [ './path/to/your/c/project/third-party' ]
scripts = ['schecker/tests/cocci-scripts/']

schecker = schecker.Schecker(paths, excludes=excludes)
schecker.options_coccinelle(script_dirs=scripts)

# now start the actual test, this may take some time
schecker.check_all(sys.stderr)

Dependencies

Schecker depends on clang-tidy and coccinelle, though it is possible to disable the modules seperatly. E.g. you don't need coccinelle: Schecker(..., modules_disabled=['coccinelle'])

sudo aptitude install clang-tidy coccinelle

Documentation

Coccinelle

Getting Comfy with Coccinelle

Defect Spotting with Coccinelle

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

schecker-0.2.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

schecker-0.2.0-py2.py3-none-any.whl (5.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file schecker-0.2.0.tar.gz.

File metadata

  • Download URL: schecker-0.2.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for schecker-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ff9da17d58680a88bc2f60e7c60bd68deda21731393f4c98e316b3e6e9f3e327
MD5 c4996439c29822fbd87cb78088204748
BLAKE2b-256 9c60ad37d99c7b5dd032f6cf54b27dee090e3e2df0cf4fba870e725383fe0ade

See more details on using hashes here.

File details

Details for the file schecker-0.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: schecker-0.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for schecker-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b74e3859993c7fadb6e498a744a74d156f01b1b45363fcb10f9213d985def983
MD5 9bb0164fe37a60f933fe376635302986
BLAKE2b-256 4704786e265398c41676f21d55a01f4de1ef0e66f672044c28b24655dc09028f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page