Bagan pengembangan diagnostik dalam PVS-Studio

Pengembangan PVS-Studio

Lebih dari 8 tahun telah berlalu sejak kemunculan produk PVS-Studio, dan selama ini kami menerapkan aturan diagnostik baru di dalamnya. Dan kita tidak akan berhenti. Jika Anda khawatir tentang pertanyaan, apakah kami kehilangan keberanian selama bertahun-tahun, dan membuat PVS-Studio berhenti berkembang, maka bagan dalam artikel akan menghapus pertanyaan ini. Alat analisis secara aktif berkembang, dan laju pengembangan hanya meningkat selama bertahun-tahun.

Pada saat penulisan ini, PVS-Studio telah menerapkan 669 diagnostik , banyak di antaranya yang kompleks. Misalnya, kami tidak melihat alasan untuk mengejar kuantitas dan membuat dua diagnosa terpisah untuk kasus: kondisinya selalu salah, kondisinya selalu benar. Seseorang melakukan hal yang sama, seseorang membagi diagnostik tersebut menjadi beberapa. Misalnya, Anda dapat menemukan alat di mana diagnostik tersebut dibagi: selalu ekspresi boolean palsu, pointer nol digunakan sebagai kondisi, dan sebagainya. Jadi jumlah diagnosa itu sendiri tidak berarti apa-apa, dan lebih lagi, tidak layak membandingkan analisa yang berbeda berdasarkan jumlah diagnosa. Tetapi menarik untuk melihat bagaimana penganalisa PVS-Studio berevolusi dari waktu ke waktu. Dan untuk ini, saya memutuskan untuk membuat garis waktu untuk tampilan diagnostik baru.

Memunculkan ide dengan jadwal jauh lebih mudah daripada menerapkannya. Kami tidak memiliki tanda, berapa banyak diagnostik dalam versi PVS-Studio ini atau itu. Entah bagaimana, bahkan tidak ada yang pernah berpikir untuk mulai menuliskan nilai-nilai ini. Saya harus menggunakan kecerdikan dan kerja keras.

Situs kami memiliki daftar semua perubahan yang terjadi dalam rilis PVS-Studio. Termasuk, diagnostik yang ditambahkan tercantum di sana. Saya meminta rekan saya Nastya untuk melakukan penelitian arkeologis dari daftar perubahan dan menuliskan tanggal rilis, serta jumlah diagnostik yang ditambahkan. Tugas sederhana namun melelahkan. Nastya, terima kasih atas bantuannya. Jadi, inilah jadwal yang dihasilkan.

Jumlah Diagnostik


Pada grafik, Anda dapat mengamati 2 semburan. Lonjakan pertama tanggal kembali ke akhir 2015 - awal 2016 dan dikaitkan dengan penambahan dukungan bahasa C #. Gelombang kedua mengacu pada akhir 2018 - awal 2019 dan dikaitkan dengan implementasi dukungan untuk bahasa Jawa, serta awal pekerjaan untuk mendukung standar MISRA.

Bahkan, lonjakan ketiga mulai terbentuk, yang belum terlihat pada grafik. Setelah batch pertama diagnostik-MISRA, kami beristirahat dan sekarang diaktifkan kembali ke arah ini. Oleh karena itu, lonjakan baru dalam aktivitas akan muncul di grafik, mulai pertengahan 2019.

Grafik menunjukkan bahwa pengembangan alat analisa PVS-Studio berjalan dengan cepat. Apalagi jika pada akhir 2015 perkembangannya sangat linier, maka โ€œlompatanโ€ mulai muncul. Karena "lompatan", grafik mulai mengambil bentuk non-linear dan, mungkin, di masa depan akan mungkin untuk menyisipkannya dengan parabola.

Seperti yang Anda lihat, kami penuh energi dan antusiasme untuk mengembangkan alat analisa kode PVS-Studio, mendukung versi kompiler baru, mengadaptasi plugin ke versi terbaru dari Visual Studio / SonarQube / IntelliJ IDEA. Gunakan PVS-Studio dan buat kode Anda lebih andal, lebih baik, dan lebih aman.



Jika Anda ingin berbagi artikel ini dengan audiens yang berbahasa Inggris, silakan gunakan tautan ke terjemahan: Andrey Karpov, Anastasiya Mozaleva. Grafik PVS-Studio dari Pengembangan Kemampuan Diagnostik .

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


All Articles