Skip to content

kupl/Pyinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Requirements

We tested Pyinder on Ubuntu 22.04 LTS.

  • Python 3.8 or later
  • ocaml-4.10 (with opam)

Install Pyinder

git clone https://github.com/kupl/Pyinder
cd <Pyinder-path>
# Install python dependencies
pip install -r requirements.txt

# Build OCaml
cd source
make

Run Pyinder

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

Learning More

  • Uncovered Bugs: We uploaded the uncovered bugs in the find_bug_list.xlsx file. Documentation will be provided soon.