Daftar Isi:
- Definisi - Apa yang dimaksud dengan Analisis Kode Sumber?
- Techopedia menjelaskan Analisis Kode Sumber
Definisi - Apa yang dimaksud dengan Analisis Kode Sumber?
Analisis kode sumber adalah pengujian otomatis kode sumber program dengan tujuan menemukan kesalahan dan memperbaikinya sebelum aplikasi dijual atau didistribusikan.
Analisis kode sumber identik dengan analisis kode statis, di mana kode sumber dianalisis hanya sebagai kode dan program tidak berjalan. Ini menghilangkan kebutuhan untuk membuat dan menggunakan test case, dan dapat memisahkan dirinya dari bug khusus fitur seperti tombol menjadi warna yang berbeda dari apa yang spesifikasi katakan. Itu berkonsentrasi pada menemukan kesalahan dalam program yang dapat merusak fungsi yang tepat seperti baris kode penyebab kecelakaan.
Techopedia menjelaskan Analisis Kode Sumber
Analisis kode sumber pada dasarnya adalah debugging kode otomatis. Tujuannya adalah untuk menemukan bug dan kesalahan yang mungkin tidak jelas bagi seorang programmer. Hal ini dimaksudkan untuk menemukan kesalahan seperti kemungkinan buffer overflows atau penggunaan pointer yang tidak rapi dan penyalahgunaan fungsi pengumpulan sampah, yang semuanya dapat dieksploitasi oleh peretas.
Penganalisa kode bekerja menggunakan aturan yang memberi tahu apa yang harus dicari. Dengan ketelitian yang terlalu sedikit, penganalisa mungkin memuntahkan terlalu banyak positif palsu dan membanjiri pengguna dengan peringatan yang tidak berguna, sementara terlalu banyak presisi mungkin terlalu lama untuk diselesaikan; Karena itu, harus seimbang.
Ada dua jenis penganalisa:
- Interprocedural - Mendeteksi pola dari satu fungsi ke fungsi berikutnya, dan pola-pola ini dikorelasikan sehingga penganalisa dapat membuat model dan mensimulasikan jalur eksekusi.
- Intraprocedural - Berfokus pada pencocokan pola dan tergantung pada jenis pola apa yang dicari pengguna.
Analisis antar prosedur lebih modern dan lebih kompleks. Contoh bagus dari ini adalah Coverity, Fortify, dan PREfix alat terpusat milik Microsoft.