ControlFlag: alat debugging kode

Intel telah merilis merilis versi signifikan dari KontrolBendera 1.0, yang mana sistem kontrol perangkat lunak memungkinkan mendeteksi kesalahan dan anomali dalam kode Anda sumber menggunakan sistem pembelajaran mesin yang dilatih pada sejumlah besar kode yang ada.

Tidak seperti penganalisa statis tradisional, ControlFlag tidak menerapkan aturan yang telah ditentukan, di mana sulit untuk meramalkan semua opsi yang mungkin, melainkan bagian dari statistik penggunaan semua jenis konstruksi bahasa di sejumlah besar proyek yang ada.

Menurut penelitian, menemukan dan menghapus bug dalam kode paling sering dilakukan secara manual dan membutuhkan lebih dari 50% waktu kerja pengembang. 

Alat ini mempelajari cara mengidentifikasi dan memberi label opsi gaya ini dan Anda dapat menyesuaikan identifikasi bug dan memperbaiki rekomendasi berdasarkan pengetahuan Anda, meminimalkan karakterisasi kode buruk ControlFlag yang mungkin hanya merupakan penyimpangan gaya antara dua tim pengembang. .

Tentang Bendera Kontrol

Sistem dilatih dengan membangun model statistik dari matriks kode sumber yang ada terbuka diterbitkan di GitHub dan repositori publik serupa. Pada tahap pelatihan, sistem menentukan templat tipikal untuk membangun struktur dalam kode dan membangun pohon sintaksis koneksi antara templat ini, yang mencerminkan aliran eksekusi kode dalam program.

Akibatnya, pohon keputusan referensi terbentuk, yang menggabungkan pengalaman pengembangan semua teks sumber yang dianalisis. Proses pengaturan pola yang serupa dilakukan untuk kode yang diuji, yang dibandingkan dengan pohon keputusan referensi. Perbedaan besar dengan cabang yang berdekatan menunjukkan anomali dalam pola yang sedang diverifikasi.

Dari ciri-cirinya Versi ControlFlag 1.0, dukungan penuh untuk template C disorot dan kemampuan untuk mendeteksi anomali dalam pernyataan "jika" bersyarat.

Misalnya, saat mengurai cuplikan kode "if (x = 7) y = x;" sistem akan mendeteksi bahwa konstruk "variabel == angka" umumnya digunakan dalam pernyataan "jika" untuk membandingkan nilai numerik, sehingga indikasi "variabel = angka" dalam pernyataan "jika" mungkin disebabkan oleh kesalahan ketik.

Kit menyediakan skrip yang memungkinkan mengunduh repositori C yang tersedia di GitHub dan menggunakannya untuk membangun model. Model yang sudah jadi juga tersedia, memungkinkan Anda untuk mulai memeriksa kode segera

Sistem adalah bagian dari proyek Penelitian Pemrograman Mesin (MPR) dari Intel, yang tujuan utamanya adalah mengurangi waktu yang dibutuhkan untuk pengembangan perangkat lunak hingga 1000 kali lipat karena otomatisasi.

Secara khusus, Intel saat ini bekerja untuk melatih Controlflag untuk secara otomatis memperbaiki kesalahan yang terdeteksi. Juga pada tahun 2020, perusahaan merilis alat MISIM, yang dikembangkan bersama dengan lab MIT, yang dapat mempelajari cuplikan kode untuk memahami apa yang dimaksudkan untuk dilakukan oleh sepotong kode. Sistem ini dimaksudkan untuk digunakan untuk menyediakan cara bagi pengembang untuk meningkatkan efisiensi kode.

"Debugging diperkirakan akan lebih merugikan pengembang dan industri secara keseluruhan," kata Intel. Pengumuman… "Saat diimplementasikan sepenuhnya, ControlFlag dapat membantu mengurangi tantangan ini dengan mengotomatiskan kerumitan pengembangan perangkat lunak seperti pengujian, pemantauan, dan debugging."

“Keuntungan utama dari pendekatan tanpa pengawasan ControlFlag untuk pengenalan pola adalah bahwa Anda pada dasarnya dapat belajar untuk beradaptasi dengan gaya pengembang. Karena program memiliki masukan terbatas ke alat kontrol yang perlu Anda evaluasi. ControlFlag dapat mengidentifikasi variasi tipografi dalam bahasa pemrograman dengan cara yang sama seperti pembaca dapat mengenali perbedaan lengkap antara kata-kata dan menggunakan singkatan bahasa Inggris, ”tulis Intel.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya Tentang ControlFlag, Anda harus tahu bahwa itu ditulis dalam C ++ dan open source di bawah lisensi MIT dan kodenya di-host di GitHub.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.