ControlFlag: bir kod hata ayıklama aracı

Intel yayınladı önemli sürümünün yayınlanması Kontrol İşareti 1.0, hangisi bir yazılım kontrol sistemi izin kodunuzdaki hataları ve anormallikleri tespit edin büyük miktarda mevcut kod üzerinde eğitilmiş bir makine öğrenimi sistemi kullanan kaynak.

Geleneksel statik analizörlerin aksine, ControlFlag önceden tanımlanmış kuralları uygulamaz, olası tüm seçenekleri öngörmenin zor olduğu, aksine her türlü yapının kullanım istatistiklerinin bir parçası çok sayıda mevcut projede dil.

Araştırmaya göre, koddaki hataları bulmak ve kaldırmak çoğunlukla manuel olarak yapılır ve geliştiricilerin çalışma süresinin %50'sinden fazlasını alır. 

Araç, bu biçimsel seçeneklerin nasıl tanımlanacağını ve etiketleneceğini öğrenir ve iki geliştirici ekibi arasında yalnızca biçimsel bir sapma olabilecek ControlFlag hatalı kod karakterizasyonlarını en aza indirerek, bilginize dayalı olarak hata tanımlamasını özelleştirebilir ve önerileri düzeltebilirsiniz.

ControlFlag Hakkında

Sistem mevcut kaynak kod matrisinden istatistiksel bir model oluşturularak eğitilir GitHub ve benzeri halka açık depolarda yayınlanan open. Eğitim aşamasında, sistem kodda yapılar oluşturmak için tipik şablonları belirler ve bu şablonlar arasında programdaki kod yürütme akışını yansıtan sözdizimsel bir bağlantı ağacı oluşturur.

Sonuç olarak, analiz edilen tüm kaynak metinlerin geliştirme deneyimlerini birleştiren bir referans karar ağacı oluşturulur. Referans karar ağacıyla karşılaştırılan test edilen kod için benzer bir kalıp belirleme işlemi gerçekleştirilir. Bitişik dallarla büyük tutarsızlıklar, doğrulanmakta olan modelde bir anormallik olduğunu gösterir.

Özelliklerinden Versiyonun ControlFlag 1.0, C şablonları için tam destek vurgulanır ve algılama yeteneği koşullu "if" ifadelerindeki anormallikler.

Örneğin, kod parçacığını ayrıştırırken "if (x = 7) y = x;" sistem "değişken == sayı" yapısının sayısal değerleri karşılaştırmak için "if" ifadesinde genellikle kullanıldığını algılayacaktır, bu nedenle "if" ifadesindeki "değişken = sayı" göstergesine muhtemelen bir yazım hatası neden olur.

Kit GitHub'da bulunan C depolarının indirilmesine izin veren bir komut dosyası sağlar ve bunları bir model oluşturmak için kullanın. Kullanıma hazır modeller de mevcuttur ve bu sayede kodu hemen kontrol etmeye başlayabilirsiniz.

Sistem Makine Programlama Araştırma projesinin bir parçasıdır (MPR), temel amacı otomasyon sayesinde yazılım geliştirme için gereken süreyi 1000 kat azaltmak olan Intel'den.

Özellikle Intel, tespit edilen hataları otomatik olarak düzeltmek için Controlflag'ı eğitmek için çalışıyor. Ayrıca 2020'de şirket, bir kod parçasının ne yapmak istediğini anlamak için kod parçacıklarını inceleyebilen MIT laboratuvarlarıyla birlikte geliştirilen MISIM aracını yayınladı. Sistem, geliştiricilere kod verimliliğini artırmanın yollarını sağlamak için kullanılmak üzere tasarlanmıştır.

Intel, "Hata ayıklamanın geliştiricilere ve bir bütün olarak sektöre daha da fazla zarar vermesi bekleniyor" dedi. Duyuru… "Tam olarak uygulandığında ControlFlag, test etme, izleme ve hata ayıklama gibi yazılım geliştirme zorluklarını otomatikleştirerek bu zorluğun azaltılmasına yardımcı olabilir."

“ControlFlag'ın örüntü tanımaya yönelik denetimsiz yaklaşımının ana avantajı, geliştiricinin stiline uyum sağlamayı temel olarak öğrenebilmenizdir. Programın kontrol araçlarına girişi sınırlı olduğundan, değerlendirmeniz gerekir. ControlFlag, programlama dillerindeki tipografik varyasyonları, okuyucuların kelimeler arasındaki tam farklılıkları tanıması ve İngilizce kısaltmaları kullanması gibi tanımlayabilir ”diye yazıyor Intel.

Nihayet onun hakkında daha fazla bilgi edinmekle ilgileniyorsan ControlFlag hakkında, C++ ile yazıldığını ve MIT lisansı ve kodu altında açık kaynak olduğunu bilmelisiniz. GitHub'da barındırılıyor.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.