Pyinder is built on top of Pyre that is a type analysis tool developed by Meta. If you are interested in using our tool, please read our artifact.
We tested Pyinder on Ubuntu 22.04 LTS.
- Python 3.8 or later
- ocaml-4.10 (with opam)
git clone https://github.com/kupl/Pyinder
cd <Pyinder-path>
# Install python dependencies
pip install -r requirements.txt
# Build OCaml
cd source
make
First, you need to make a configuration file .pyre_configuration
such as:
{
"source_directories": [
{
"root": "<source-root-directory-1>",
"subdirectory": "<source-sub-directory-1>"
},
{
"root": "<source-root-directory-2>",
"subdirectory": "<source-sub-directory-2>"
},
],
"exclude": ["<path-to-exclude-1>", "<path-to-exclude-2>"],
"strict": true,
"taint_models_path": ".",
"typeshed": "<Pyinder-path>/stubs/typeshed/typeshed-master"
}
Then, you can run Pyinder from the directory where the .pyre_configuration
file is located as follows:
cd <directory-where-.pyre_configuration-is-located>
pyinder mine
- Uncovered Bugs: We uploaded the uncovered bugs in the
find_bug_list.xlsx
file. Documentation will be provided soon.