libsa4py
v0.4.0
LibSA4Py -это статическая библиотека анализа для Python, которая извлекает подсказки и функции типа для обучения моделей вывода на основе ML.
git clone https://github.com/saltudelft/libsa4py.git
cd libsa4py && pip install .
Учитывая репозитории Python, запустите следующую команду для обработки файлов исходного кода и генерирования выходов, форматированных JSON:
libsa4py process --p $REPOS_PATH --o $OUTPUT_PATH --d $DUPLICATE_PATH --j $WORKERS_COUNT --l $LIMIT --c --no-nlp --pyre
Описание:
--p $REPOS_PATH : путь к питону корпусу или набору данных.--o $OUTPUT_PATH : Path to Хранить обработанные проекты.--d $DUPLICATE_PATH : path to duplicate файлов данного набора данных (то есть файл jsonl.gz, созданный инструментом CD4py). [ Необязательный ]--s : Путь к файлу CSV для разделения данного набора данных. [ Необязательный ]--j $WORKERS_COUNT : количество работников для обработки проектов. [ Необязательно , дефолт = нет. доступных ядер процессора]--l $LIMIT : количество проектов, которые будут обработаны. [ Необязательный ]--c : игнорировать обработанные проекты. [ Необязательно , default = false]--no-nlp : применять стандартные методы NLP для извлеченных идентификаторов. [ Необязательно , default = true]--pyre : запускать pyre , чтобы сделать вывод типов переменных для данных проектов. [ Необязательно , default = false]--tc : аннотация типа типа типа в проектах. [ Необязательно , default = false] Чтобы объединить все обработанные проекты, форматированные JSON, в единый диаграмму данных, запустите следующую команду:
libsa4py merge --o $OUTPUT_PATH --l $LIMIT
Описание:
--o $OUTPUT_PATH : путь к обработанным проектам, используемый на предыдущем этапе обработки.--l $LIMIT : количество проектов, которые будут объединены. [ Необязательный ] Чтобы применить предполагаемые типы Pyre к проектам, запустите следующую команду:
libsa4py apply --p $REPOS_PATH --o $OUTPUT_PATH
Описание:
--p $REPOS_PATH : путь к питону корпусу или набору данных.--o $OUTPUT_PATH : путь к обработанным проектам, используемый на предыдущем этапе обработки.После обработки каждого проекта создается файл, форматированный JSON, который описан здесь.