libsa4py
v0.4.0
LibSA4Py es una biblioteca de análisis estático para Python, que extrae sugerencias y características de tipo para capacitar modelos de inferencia de tipo basados en ML.
git clone https://github.com/saltudelft/libsa4py.git
cd libsa4py && pip install .
Dados los repositorios de Python, ejecute el siguiente comando para procesar archivos de código fuente y generar salidas con formato JSON:
libsa4py process --p $REPOS_PATH --o $OUTPUT_PATH --d $DUPLICATE_PATH --j $WORKERS_COUNT --l $LIMIT --c --no-nlp --pyre
Descripción:
--p $REPOS_PATH : el camino hacia el corpus de Python o el conjunto de datos.--o $OUTPUT_PATH : ruta para almacenar proyectos procesados.--d $DUPLICATE_PATH : ruta para duplicar archivos del conjunto de datos dado (es decir, el archivo jsonl.gz producido por la herramienta CD4PY). [ Opcional ]--s : ruta al archivo CSV para dividir el conjunto de datos dado. [ Opcional ]--j $WORKERS_COUNT : número de trabajadores para proyectos de procesamiento. [ Opcional , predeterminado = no. de núcleos de CPU disponibles]--l $LIMIT : Número de proyectos que se procesarán. [ Opcional ]--c : si ignorar los proyectos procesados. [ Opcional , default = falso]--no-nlp : si se debe aplicar técnicas NLP estándar a los identificadores extraídos. [ Opcional , default = true]--pyre : si ejecutar pyre para inferir los tipos de variables para proyectos dados. [ Opcional , default = falso]--tc : si verificar las anotaciones de tipo de tipo en proyectos. [ Opcional , default = falso] Para fusionar todos los proyectos procesados con formato JSON en un solo marco de datos, ejecute el siguiente comando:
libsa4py merge --o $OUTPUT_PATH --l $LIMIT
Descripción:
--o $OUTPUT_PATH : ruta a los proyectos procesados, utilizados en el paso de procesamiento anterior.--l $LIMIT : Número de proyectos que se fusionarán. [ Opcional ] Para aplicar los tipos inferidos de Pyre a los proyectos, ejecute el siguiente comando:
libsa4py apply --p $REPOS_PATH --o $OUTPUT_PATH
Descripción:
--p $REPOS_PATH : el camino hacia el corpus de Python o el conjunto de datos.--o $OUTPUT_PATH : ruta a los proyectos procesados, utilizados en el paso de procesamiento anterior.Después de procesar cada proyecto, se produce un archivo con formato JSON, que se describe aquí.