Teknoloji & Yapay Zeka

Yapay Zeka Yeni Programcıların Kod Anlama Zorluğunu Çözüyor

Programlama öğrenmeye başlayan kişilerin en büyük zorluklarından biri karmaşık kodları anlamak. Araştırmacılar, bu soruna çözüm olarak bilişsel yük teorisine dayanan otomatik kod yeniden düzenleme sistemi geliştirdi. CDDRefactorER adlı bu sistem, kodun işlevselliğini korurken yapısını daha anlaşılır hale getiriyor. İki farklı veri seti ve yapay zeka modeli üzerinde yapılan testlerde sistem, yeniden düzenleme hatalarını %54-71 oranında azalttı. Yeni öğrenen programcılarla yapılan kontrollü çalışmalar da sistemin kod karmaşıklığını önemli ölçüde düşürdüğünü gösterdi. Bu yaklaşım, programlama eğitiminde devrim yaratma potansiyeli taşıyor.

Programlama dünyasına adım atan yeni öğrenciler, karmaşık kod yapıları karşısında sık sık zorlanıyor. Belirsiz değişken isimleri, iç içe geçmiş döngüler ve kötü organize edilmiş kod blokları, öğrenme sürecini oldukça zorlaştırıyor.

Bilim insanları bu soruna yenilikçi bir çözüm geliştirdi: Bilişsel Yönelimli Geliştirme teorisine dayanan otomatik kod yeniden düzenleme sistemi. CDDRefactorER olarak adlandırılan bu sistem, kodun mantığını ve çalışma şeklini değiştirmeden, yapısını daha anlaşılır hale getiriyor.

Sistem, özellikle kontrol akışı karmaşıklığını azaltmaya odaklanıyor. Bu sayede yeni programcılar, kodun ne yaptığını daha kolay anlayabiliyor. Araştırma ekibi, sistemin etkinliğini ölçmek için kapsamlı testler gerçekleştirdi.

MBPP ve APPS adlı iki benchmark veri seti kullanılarak yapılan deneylerde, sistem çarpıcı sonuçlar verdi. Farklı yapay zeka modelleriyle test edildiğinde, yeniden düzenleme işlemlerindeki hata oranı %54 ile %71 arasında azaldı.

Daha da önemlisi, gerçek programcılarla yapılan kontrollü çalışmalar, sistemin Döngüsel ve Bilişsel Karmaşıklık metriklerinde önemli iyileştirmeler sağladığını ortaya koydu. Bu gelişme, programlama eğitiminde yeni bir dönem başlatabilir.

Özgün Kaynak
arXiv (CS + AI)
Improving Code Comprehension through Cognitive-Load Aware Automated Refactoring for Novice Programmers
Orijinal makaleyi oku

Bu içerik, özgün kaynaktaki bilgiler temel alınarak BilimKapsül editörleri tarafından yeniden kaleme alınmıştır. Orijinal metnin birebir çevirisi değildir. Telif hakkı özgün yayıncıya aittir.