libsa4py
v0.4.0
LibSA4Py adalah pustaka analisis statis untuk Python, yang mengekstraksi petunjuk dan fitur jenis untuk pelatihan model inferensi tipe berbasis ML.
git clone https://github.com/saltudelft/libsa4py.git
cd libsa4py && pip install .
Diberikan repositori Python, jalankan perintah berikut untuk memproses file kode sumber dan menghasilkan output yang diformat JSON:
libsa4py process --p $REPOS_PATH --o $OUTPUT_PATH --d $DUPLICATE_PATH --j $WORKERS_COUNT --l $LIMIT --c --no-nlp --pyre
Keterangan:
--p $REPOS_PATH : Jalur ke python corpus atau dataset.--o $OUTPUT_PATH : Path to Store Proyek yang diproses.--d $DUPLICATE_PATH : Path to Duplicated File dari Dataset yang Diberikan (yaitu file jsonl.gz yang diproduksi oleh alat CD4PY). [ Opsional ]--s : Path ke file CSV untuk membagi dataset yang diberikan. [ Opsional ]--j $WORKERS_COUNT : Jumlah pekerja untuk memproses proyek. [ Opsional , default = no. inti CPU yang tersedia]--l $LIMIT : Jumlah proyek yang akan diproses. [ Opsional ]--c : Apakah akan mengabaikan proyek yang diproses. [ Opsional , default = false]--no-nlp : Apakah akan menerapkan teknik NLP standar untuk pengidentifikasi yang diekstraksi. [ Opsional , default = true]--pyre : Apakah akan menjalankan pyre untuk menyimpulkan jenis variabel untuk proyek yang diberikan. [ Opsional , default = false]--tc : Apakah mengetik anotasi jenis pemeriksaan dalam proyek. [ Opsional , default = false] Untuk menggabungkan semua proyek yang diformat JSON yang diproses ke dalam satu dataframe, jalankan perintah berikut:
libsa4py merge --o $OUTPUT_PATH --l $LIMIT
Keterangan:
--o $OUTPUT_PATH : Path to the Projectsed Projects, Digunakan pada langkah pemrosesan sebelumnya.--l $LIMIT : Jumlah proyek yang akan digabungkan. [ Opsional ] Untuk menerapkan jenis Pyre yang disimpulkan ke proyek, jalankan perintah berikut:
libsa4py apply --p $REPOS_PATH --o $OUTPUT_PATH
Keterangan:
--p $REPOS_PATH : Jalur ke python corpus atau dataset.--o $OUTPUT_PATH : Path to the Projectsed Projects, Digunakan pada langkah pemrosesan sebelumnya.Setelah memproses setiap proyek, file yang diformat JSON diproduksi, yang dijelaskan di sini.