Microsoft, Windows ve Azure gibi büyük kod tabanlarında yapay zekâ ajanlarının yaptığı değişiklikleri güvenilir biçimde doğrulamak için statik analiz, testler ve biçimsel doğrulamayı birlikte kullanıyor.
Büyük kod tabanlarında yeni dönem
Şirket, yapay zekâ ajanlarının insanların inceleyebileceğinden çok daha hızlı biçimde milyonlarca satırlık kodu yeniden yazabildiği bir dönemde çalıştığını belirtiyor. Microsoft’un üzerinde durduğu temel mesele, kod üretmekten çok, üretilen kodun doğru olup olmadığını anlayabilmek.
Windows ve Azure dahil dünyanın en büyük kod tabanlarından bazılarını dönüştüren şirket, 400 milyon satırlık bir kod tabanını yeni bir derleyici araç zincirine taşımaktan, eski C ve C++ kodlarını Rust’a modernize etmeye kadar uzanan çalışmalar yürütüyor. Bu sürece giderek daha fazla biçimsel doğrulama da eşlik ediyor.
Microsoft’a göre yüzlerce milyon satırlık kodda yapılan değişikliklerde küçük bir ekibin güvenle imza atabilmesi için, davranışın, güvenliğin ve mimari niyetin korunup korunmadığının anlaşılması gerekiyor.
Küçük ekip, büyük dönüşüm
Şirket, 2024’ten bu yana yapay zekâ ajanlarını statik analiz, testler ve biçimsel doğrulamayla birleştirerek büyük ölçekli yazılım dönüşümünü daha uygulanabilir hale getirmeye çalışıyor. İlk dönemde iş akışları büyük ölçüde elle kurgulanırken, Mayıs 2025’e gelindiğinde ajanların planlama konusunda daha iyi hale geldiği ve sistemin odağının, ajanların çağırdığı araçları geliştirmeye kaydığı ifade ediliyor.
Microsoft’un yaklaşımında en değerli araçlar, hem ajana hem de onu yöneten mühendislere bir değişikliğin doğru olup olmadığını söyleyebilen araçlar olarak tanımlanıyor. Şirket, insan uzmanların yükünü azaltmak için dikkat ve zamanın en çok ihtiyaç duyulan yere yönlendirilmesi gerektiğini savunuyor.
Bu kapsamda, büyük bir dönüşümü geniş bir mühendislik organizasyonuna yaymak yerine, birkaç uzmanı merkezde toplayıp ajanlarla ölçeklendiren bir işletim modeli tercih ediliyor. Önce örnek bulgular üzerinden aday bir bilgi tabanı oluşturuluyor, ardından bir gözden geçirici ajan değişiklikleri doğruluk, en küçük düzeltme olup olmadığı, dosya düzenleriyle uyum ve sürdürülebilirlik açısından puanlıyor.
Windows ve Azure’da taşıma çalışmaları
Microsoft, kod taşıma işlemini belirli bir mühendislik hedefi için kod tabanı genelinde uygulanan dönüşüm olarak tanımlıyor. Bu hedef; bağımlılıkları güncellemek, yeni bir derleyiciye geçmek, statik analiz bulgularını gidermek ya da platform değiştirmek olabilir. Örnekler arasında Windows kod tabanının Clang/LLVM araç zincirine uyumlu hale getirilmesi, CodeQL, PREfast ve Roslyn analizörlerinden gelen bulguların temizlenmesi ve hizmetlerin x86’dan ARM’a taşınması yer alıyor.
Şirket, uzman ekibin tek tek düzeltmeleri değil, önce bilgi tabanını onaylamasını öngören bir model kullanıyor. Böylece ajanlar benzer düzeltmeleri kod tabanının geneline uyguluyor, insan geri bildirimi ise daha çok yeni, belirsiz ya da özel durumlara ayrılıyor.
Microsoft’a göre benzer düzeltmelerin birlikte incelenmesi, gözden geçirenlerin bilişsel yükünü de azaltıyor. Amaç, her değişikliğin elle tek tek değerlendirilmesi yerine, uzman bilgisinin sistematik biçimde çoğaltılması.
C ve C++’tan Rust’a geçiş
Şirket, yazılımların önemli bir bölümünün bellek güvenliği hatalarına açık C ve C++ gibi dillerle yazıldığını belirtiyor. Rust’a geçişin güvenliği yapısal olarak artırabileceği, ancak bunun ancak yeniden yazımın eski davranışı eksiksiz koruması halinde anlamlı olacağı vurgulanıyor.
Microsoft’un aktardığı zaman çizelgesine göre 1 Ocak 2025’te üretilen Rust kodu derlenmiyordu. 2 Haziran 2025’te kod derlenebilir hale geldi, ancak doğru çalışmıyor ya da testleri geçmiyordu. 3 Eylül 2025’te yaklaşık 30.000 satırlık çeviri, elle yönlendirme ile çalışır duruma geldi. 4 Şubat 2026 ve sonrasında ise büyük kod tabanlarının önemli ölçüde otomasyonla modernize edilmesi hedefleniyor.
Bu ilerleme, darboğazın derlenebilir kod üretiminden testlerden geçmeye ve ardından doğrulanmış davranışı ölçebilmeye kaydığını gösteriyor. Microsoft ayrıca ekiplerin kod yapısını ve katmanlarını görselleştiren araçlar geliştirdiğini, hangi bileşenlerin hangi sırayla modernize edileceğine bu araçlarla karar verildiğini söylüyor.
Özellik bazlı dönüşüm ve biçimsel doğrulama
Şirket, bileşenleri satır satır çevirmek yerine özellik bazlı ilerlemenin daha iyi sonuç verdiğini belirtiyor. Özellik, kullanıcıya görünen davranış birimi olarak ele alınıyor ve uçtan uca senaryo testleriyle doğrulanıyor. Ayrıca kaynak kod ile hedef kod arasındaki davranış farklılıkları karşılaştırılıyor; ajanın ezberlemesini önlemek için bazı testler sistemden gizleniyor.
En son aşamada, kaynak koddaki biçimsel özelliklerin çıkarılarak hedef dile taşınması ve Verus kullanılarak modernize edilen kodun bu özellikleri karşıladığının ispatlanması üzerinde çalışılıyor. Bu yaklaşımın, büyük ve eski kod tabanlarında gelecekteki yapay zekâ destekli değişiklikler için bir güvenlik çerçevesi oluşturması amaçlanıyor.
Microsoft ayrıca TLA+ gibi biçimsel belirtimlerin ajanlar tarafından mevcut kod tabanlarından çıkarılabildiğini, sonra da TLC gibi araçlarla uygulamanın yürütme izlerinin bu belirtimlerle uyumunun kontrol edildiğini aktarıyor. Uyuşmazlık çıkarsa bunun bir kod hatası, yanlış bir belirtim ya da geçersiz bir testten kaynaklanabileceği ifade ediliyor.
Açık kalan sorular
Şirket, yapay zekânın ürettiği belirtimlere ne kadar güvenilebileceğini, biçimsel doğrulamanın yalnızca işlevsel doğrulukla sınırlı kalıp kalmayacağını ve mühendislerin bir gün kod okumayı bırakıp sadece belirtim düzeyinde mi çalışacağını sorguluyor. Her ajanın her kodu değiştirebildiği bir ortamda kod sahipliğinin nasıl tanımlanacağı da açık sorular arasında yer alıyor.
Microsoft’a göre bu sorular kuramsal değil; şirketin bundan sonra ne geliştireceğini doğrudan şekillendiriyor. Ayrıca ekip, diğer çalışma alanlarında benzer sorunlar yaşayanlardan görüş beklediğini belirtiyor.



