libsa4py
v0.4.0
LibSA4Py é uma biblioteca de análises estáticas para o Python, que extrai dicas de tipo e recursos para o treinamento de modelos de inferência de tipo baseado em ML.
git clone https://github.com/saltudelft/libsa4py.git
cd libsa4py && pip install .
Dados os repositórios Python, execute o seguinte comando para processar arquivos de código-fonte e gerar saídas formatadas por JSON:
libsa4py process --p $REPOS_PATH --o $OUTPUT_PATH --d $DUPLICATE_PATH --j $WORKERS_COUNT --l $LIMIT --c --no-nlp --pyre
Descrição:
--p $REPOS_PATH : o caminho para o corpus ou conjunto de dados Python.--o $OUTPUT_PATH : caminho para armazenar projetos processados.--d $DUPLICATE_PATH : caminho para duplicar arquivos do conjunto de dados especificado (por exemplo, o arquivo jsonl.gz produzido pela ferramenta CD4PY). [ Opcional ]--s : caminho para o arquivo CSV para dividir o conjunto de dados fornecido. [ Opcional ]--j $WORKERS_COUNT : Número de trabalhadores para processamento de projetos. [ Opcional , padrão = não. dos núcleos da CPU disponíveis]--l $LIMIT : Número de projetos a serem processados. [ Opcional ]--c : Se deve ignorar projetos processados. [ Opcional , padrão = false]--no-nlp : Aplicar técnicas padrão de PNL a identificadores extraídos. [ Opcional , padrão = true]--pyre : se deve a executar pyre para inferir os tipos de variáveis para determinados projetos. [ Opcional , padrão = false]--tc : se deve verificar as anotações do tipo de verificação em projetos. [ Opcional , padrão = false] Para mesclar todos os projetos formatados por JSON processados em um único quadro de dados, execute o seguinte comando:
libsa4py merge --o $OUTPUT_PATH --l $LIMIT
Descrição:
--o $OUTPUT_PATH : caminho para os projetos processados, usados na etapa de processamento anterior.--l $LIMIT : Número de projetos a serem mesclados. [ Opcional ] Para aplicar os tipos inferidos de Pyre aos projetos, execute o seguinte comando:
libsa4py apply --p $REPOS_PATH --o $OUTPUT_PATH
Descrição:
--p $REPOS_PATH : o caminho para o corpus ou conjunto de dados Python.--o $OUTPUT_PATH : caminho para os projetos processados, usados na etapa de processamento anterior.Após o processamento de cada projeto, é produzido um arquivo formatado em JSON, descrito aqui.