https://github.com/squareslab/kaskara
A simple API frontend for various static analysers (e.g., Clang)
https://github.com/squareslab/kaskara
analysis clang python
Last synced: 23 days ago
JSON representation
A simple API frontend for various static analysers (e.g., Clang)
- Host: GitHub
- URL: https://github.com/squareslab/kaskara
- Owner: squaresLab
- License: apache-2.0
- Created: 2018-06-28T02:24:10.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-14T03:26:19.000Z (over 1 year ago)
- Last Synced: 2025-04-21T18:57:22.275Z (9 months ago)
- Topics: analysis, clang, python
- Language: Python
- Homepage:
- Size: 1.04 MB
- Stars: 3
- Watchers: 5
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
.. -*-restructuredtext-*-
Kaskara
=======
.. image:: https://badge.fury.io/py/kaskara.svg
:target: https://badge.fury.io/py/kaskara
.. image:: https://img.shields.io/pypi/pyversions/kaskara.svg
:target: https://pypi.org/project/kaskara
A simple library for performing static analysis on programs in a variety of languages for the purpose of program repair.
Kaskara avoids dependency hell when analysing programs by making use of Docker.
* Kaskara provides C and C++ analysis support via its Clang driver
* As of January 2020, Kaskara now provides support for Python analysis
.. image:: ./logo.png
Post-Installation
-----------------
After installing the `kaskara` package as a dependency of your project, you should execute the following code to complete the installation by building the support backends:
.. code:: python
import kaskara
kaskara.post_install()
Requirements
------------
* **WARNING:** The clang backend only works with glibc-based Docker images.
Images that rely on an alternative libc implementation (e.g., Alpine relies on musl) are not supported.
Development
-----------
If you want to play with the Kaskara Clang backend from within a Docker container, you can use the following commands:
.. code:: bash
make postinstall
docker run --rm -v kaskara-clang:/opt/kaskara:ro -it your-image-name
This will first install Kaskara to a Docker volume, containing portable binaries and libraries, and then run a container with the volume mounted at `/opt/kaskara`.
You can also interact with Kaskara via the WIP command line:
.. code:: bash
poetry run kaskara clang index \
kaskara/examples:BehaviorTree.CPP \
/workspace \
/workspace/src/blackboard.cpp