Sebagai catatan profesor: gunakan PVS-Studio untuk membuat siswa terbiasa dengan alat analisis kode

Gambar 1

Obrolan dukungan kami dan beberapa tanda tidak langsung lainnya menunjukkan bahwa ada banyak siswa di antara pengguna gratis kami. Inilah alasannya: PVS-Studio sekarang lebih sering digunakan oleh para profesor dalam kursus yang berkaitan dengan pengembangan perangkat lunak. Kami sangat senang dengan ini, dan kami memutuskan untuk menulis artikel kecil ini agar diperhatikan oleh guru lain. Kami senang bahwa siswa menjadi terbiasa dengan metodologi analisis kode statis secara umum dan alat PVS-Studio pada khususnya. Tim kami akan mencoba berkontribusi pada tren ini.

Pengembangan perangkat lunak modern tidak mungkin dilakukan tanpa pendekatan terpadu untuk memastikan kualitas dan keandalan perangkat lunak. Alasannya adalah bahwa ukuran basis kode aplikasi saat ini berkembang pesat. Biarkan angka berbicara sendiri. Sebagai contoh, mari kita ambil sistem operasi:

  • MS DOS 1.0: 4.000 baris kode. Satu orang dapat membaca kode ini secara keseluruhan, mengatasinya, menemukan bug.
  • Linux 1.0.0 kernel: 176.000 baris kode. Sebuah tim masih dapat meninjau kode secara menyeluruh, meskipun akan membutuhkan banyak waktu dan usaha.
  • Kernel Linux 5.0: lebih dari 26.000.000 baris kode. Seseorang tidak bisa menerima proyek tanpa batas seperti itu.

Contoh kernel Linux menunjukkan bahwa ukuran basis kode telah tumbuh 150 kali dalam 25 tahun. Sekarang tidak mungkin bagi seorang programmer untuk meninjau kode seluruh aplikasi dalam satu kesempatan, yaitu untuk memahaminya, menemukan kesalahan, meningkatkan solusi arsitektur. Pekerjaan batin dari program modern mungkin terlalu berat untuk satu orang. Pada saat ini tidak ada lagi spesialis yang dapat menjawab pertanyaan mengenai internal proyek.

Ketidakmampuan untuk memahami proyek hanya setengah dari masalah. Saat ukuran proyek bertambah, kepadatan kesalahan juga meningkat. Saya ingin menekankan bahwa ini bukan hanya tentang peningkatan jumlah kesalahan, tetapi tentang kepadatannya! Dalam program kursus, Anda dapat menulis 1.000 baris kode dan menghindari satu kesalahan. Padahal tidak mungkin Anda dapat menambahkan 1000 baris kode dalam aplikasi besar dan menghindari beberapa kesalahan. Untuk menjelaskan, kami akan menggunakan nomor-nomor berikut:

Gambar 1. Kepadatan kesalahan tipikal dalam proyek dengan ukuran berbeda. Data diambil dari buku Steve McConnell & quot; Kode lengkap & quot ;.

Gambar 1. Kepadatan kesalahan tipikal dalam proyek dengan ukuran berbeda. Data diambil dari buku Steve McConnell "Code complete".

Jadi, tidak mungkin untuk menulis program yang andal menggunakan pendekatan yang sama seperti 20-30 tahun yang lalu. Anda harus menggunakan serangkaian metodologi untuk membantu mengendalikan kompleksitas proyek perangkat lunak yang berkembang dan memastikan kualitas kode yang diperlukan:

  • Standar pengkodean
  • Ulasan kode
  • Tes unit
  • Pengujian regresi
  • Uji beban
  • Pengujian manual
  • ....
  • Analisis dinamis
  • Analisis statis

Metodologi dari daftar paling atas cukup dikenal oleh para programmer dan telah lama berhasil diterapkan oleh hampir semua tim. Tetapi dua metodologi terakhir masih jauh lebih jarang, meskipun bukan yang baru. Oleh karena itu, sekarang dalam kursus pelatihan siswa, profesor harus memberikan perhatian ekstra pada studi alat analisis statis dan dinamis.

Saya tidak akan mengatakan apa-apa tentang analisis dinamis sekarang, meskipun itu tidak kalah pentingnya daripada statis.

Adapun analisis statis, itu hal kami dan saya mengundang para profesor untuk memperhatikan produk perangkat lunak PVS-Studio kami.

PVS-Studio adalah alat yang dirancang untuk mendeteksi kesalahan dan kerentanan potensial dalam kode sumber program, ditulis dalam C, C ++, C # dan Java. Bekerja di sistem 64-bit pada Windows, Linux dan macOS dan dapat menganalisis kode untuk platform ARM 32-bit, 64-bit dan tertanam.

Alat analisis PVS-Studio dapat dianggap sebagai contoh yang baik dari alat analisis kode statis modern. Pertama, ini adalah contoh yang bagus untuk menunjukkan kemampuan alat analisis statis dalam mendeteksi kesalahan dan cacat keamanan ( SAST ). Kedua, Anda dapat menunjukkan integrasinya ke dalam siklus pengembangan perangkat lunak untuk memungkinkan kontrol kode berkelanjutan. Dalam contohnya, Anda dapat menunjukkan integrasi dengan sistem seperti Jenkins , TeamCity , Azure DevOps , SonarQube , Travis CI dan lainnya.

Untuk mulai menggunakan PVS-Studio sebagai bagian dari pelatihan, Anda tidak perlu melakukan sesuatu yang istimewa.

Kami menyediakan beberapa opsi untuk lisensi PVS-Studio gratis, termasuk opsi untuk proyek terbuka. Khusus untuk tujuan pendidikan, jika karya siswa tidak terbuka, opsi terbaik adalah menambahkan komentar berikut ke kode:

// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com

Anda harus mengikuti dua langkah untuk mulai menggunakan penganalisa kode PVS-Studio secara gratis:

Langkah satu

Jika Anda menggunakan PVS-Studio sebagai plugin Visual Studio, kemudian masukkan kunci lisensi berikut:

Name: PVS-Studio Free
Key: FREE-FREE-FREE-FREE

Jika Anda menggunakan PVS-Studio untuk Linux, maka lanjutkan ke langkah kedua, Anda tidak memerlukan file lisensi.

Langkah dua

Anda harus menulis dua baris komentar di awal setiap file. Edit semua file yang bisa dikompilasi dari proyek Anda. Maksud kami file dengan ekstensi c, cc, cpp, cs, java, dan lainnya. Anda tidak perlu mengubah file-h.

Anda dapat menambahkan komentar secara manual dan menggunakan utilitas bantu untuk melakukannya. Anda dapat mengunduh utilitas (bersama dengan kode sumber) di sini: cara menggunakan pvs-studio-gratis .

Anda dapat menemukan detailnya di artikel: " Cara menggunakan PVS-Studio gratis ." Mintalah siswa untuk memeriksanya. Secara khusus, kami harus mempertimbangkan bahwa kami menyediakan dukungan untuk pengguna gratis di situs web StackOverflow. Tetapi jangan bingung antara dukungan dan pemberitahuan tentang bug. Inilah poin-poin yang dijelaskan oleh artikel di atas.

Terima kasih atas perhatian anda Jika ada pertanyaan, kami siap memberikan bantuan dan konsultasi. Jangan ragu untuk menulis untuk dukungan kami.

Tautan tambahan:

  1. Perkenalkan Analisis Statis dalam Prosesnya, Jangan Hanya Mencari Bug dengannya
  2. Cara untuk Mendapatkan Lisensi PVS-Studio Gratis
  3. Dokumentasi PVS-Studio

Source: https://habr.com/ru/post/id470069/


All Articles