Uygulama Güvenliği, Yeni Nesil Teknolojiler ve Güvenli Geliştirme
Structure101’den Yeni Özellikler Kod Yapısını Basitleştirin, Geleceğe Hazır Geliştirme
Michael Novinson (MichaelNovinson) •
16 Ekim 2024
Sonar, kodu daha sürdürülebilir ve geliştirilmesi daha kolay hale getirmek için 1999’dan beri aynı kişi tarafından yönetilen İrlandalı butik kod yapısı analizi öncüsünü satın aldı.
Ayrıca bakınız: Güvendiğiniz Açık Kaynak Yazılım Bağımlılıklarının Güvenliği ve Uyumluluğu
Ürün Fabrice Bellingard, Cenevre merkezli kod güvenliği satıcısının, Structure101’i satın almasının Sonar’ın, yazılımın uzun vadeli sürdürülebilirliğini etkileyen yapısal tasarım sorunlarını çözmesine yardımcı olacağını söyledi. Anlaşma, yazılım geliştirme iş akışlarında mimari kısıtlamaları tanımlamaya ve uygulamaya yönelik yetenekler ekliyor ve geliştiricilerin teknik borcu yönetmesine ve yazılım tasarımını iyileştirmesine yardımcı olacak.
Bellingard, Information Security Media Group’a “Yapısal sorunlar yazılım geliştirmenin en zor kısmıdır” dedi. “Giderek daha fazla kod yazıldıkça, özellikle üretken yapay zeka ekiplerinin yükselişiyle birlikte, kodlarının zaman içinde kolayca geliştirilebilmesini ve gelişen yazılımın maliyetinin kontrol altında kalmasını sağlamak istiyorlar.”
Structure101, 1999 yılında kuruldu, 10 kişiyi istihdam ediyor ve kuruluşundan bu yana, daha önce Uluslararası Uzay İstasyonundaki robotik kol için kontrol yazılımı geliştiren bir ekibi denetleyen Chris Chedgey tarafından yönetiliyor. Satın alma işleminin bu yaz tamamlanmasının ardından Chedgey, Sonar’a ürün müdürü olarak katıldı. Sonar’ın 2020’den bu yana ilk satın alması olan satın almanın şartları açıklanmıyor (bkz: SonarSource, Asya’da Büyümek İçin 4,7 Milyar Dolarlık Değerlemeyle 412 Milyon Dolar Artırdı).
Structure101’in Yaklaşımını Farklı Kılan Nedir?
Bellingard, Sonar’ın tarihsel olarak koddaki hataları ve güvenlik açıklarını tespit etmeye odaklanmış olmasına rağmen, yazılım mühendisliğinin daha zor kısmının iyi mimariyi sağlamak olduğunu, çünkü zayıf kod tasarımının zaman içinde yazılım geliştirme ve bakım maliyetini artırdığını söyledi. Structure101’in yazılım mimarisine odaklanmasının, Sonar’ın geliştiricilerin daha iyi kod yazmasına yardımcı olma konusundaki mevcut gücünü tamamladığını söyledi.
“Yazılım mühendisliğinin en zor kısmının iyi bir tasarıma sahip olmak ve kodda iyi bir mimariye sahip olmak olduğunu biliyoruz” dedi. “Yazılımınızın ne kadar iyi gelişebileceğini belirleyen şey budur. Kod, değiştirilmesi kolay, anlaşılması kolay bir şekilde tasarlanmadığında, geliştiricilerin onu okuması, anlaması daha pahalıya mal olacaktır. ve bazı yeni işlevler toplayın.”
Bellingard’a göre, zayıf yazılım mimarisi ve tasarımı zorluklar yaratabilir çünkü dikkatli bir planlama yapılmazsa gelecekteki değişiklikler pahalı ve karmaşık hale gelebilir. Özellikle koddaki döngüsel bağımlılıklar sorununa dikkat çekti ve geliştiricilerin karşılıklı bağımlılıkları azaltan modüler, iyi yapılandırılmış kodlara odaklanmasının önemli olduğunu söyledi. Structure101 yapısal kod sorunlarını ele alacaktır (bkz.: Uygulamaların Güvenliğini Sağlama, Temiz Kodla DevOps’u Hızlandırma).
“Yazılım geliştirmenin zor kısmı, mevcut dünyayı şimdi ve gelecekte çalışacak bir modelle eşlemektir” dedi. “Mevcut dünyayı ve spesifikasyonları farklı varlıklardan oluşan bir spagetti olmayan bir modele tercüme etmezseniz, modelin bir kısmına bir şey takmak zorunda kaldığınızda, diğer birçok farklı parçaya da dokunmak zorunda kalacaksınız çünkü onların çok fazla bağımlılık var.”
Sonar, Structure101 Nasıl Bir Araya Getirilecek?
Entegrasyon sürecinin ilk kısmı, Structure101’in tasarım kurallarını Sonar’ın geliştirici iş akışlarına eklemektir ve Bellingard, ekibin Java ile başladığını ve desteği 30’dan fazla programlama diline genişletmeyi planladığını, böylece geliştiricilerin döngüsel bağımlılıklar da dahil olmak üzere çeşitli tasarım sorunlarını tespit etmesini sağladığını söyledi. 2025’in başlarında Sonar, teknik liderlerin kod tabanları üzerindeki mimari kısıtlamaları tanımlamasına ve uygulamasına olanak tanıyacak.
“Bazı dillerimizin (Java) bazı tasarım kurallarını zaten yayınladık; bu kurallar özellikle kodu yazdığınızda kodlar arasında döngüsel bağımlılıkların nasıl olduğunu inceliyor ki bu gerçekten kötü” dedi. “İkinci bölüm, teknoloji liderlerinin Sonar içindeki mimari kısıtlamaları tanımlamasına ve bu mimari kısıtlamaların ihlal edilmediğini doğrulamak için Structure101 motorunu kullanmasına olanak sağlamaktır.”
Structure101’in kod bağımlılıklarının görsel temsili, geliştiricilerin bu sorunları anlamalarına ve çözmelerine yardımcı olma açısından çok önemli olacak; Bellingard, bunun kodun sürdürülebilirliğini artıracağını ve işletmeler için uzun vadeli maliyetleri azaltacağını söyledi. Structure101’in masaüstü tabanlı görselleştirme araçlarının web teknolojilerine dönüştürülmesi gerekiyor; Bellingard, bunun geliştiricilere kod mimarileri hakkında daha net bilgiler sağlayacağını söyledi.
Bellingard, “Yapısal bağımlılıklarla ilgili sorun, genellikle kodun birçok farklı bölümünü içermesidir” dedi. “Ve geliştirici için bunun görsel bir temsili yoksa, öncelikle planın büyüklüğünü anlamak ve daha sonra bağımlılıkların nerede kesilmesi gerektiğini gerçekten görmek son derece zor olacaktır.”
Bellingard, Structure101’in entegrasyonunun, geliştirme ekiplerinin kod tabanlarını daha iyi yönetmelerine yardımcı olarak büyümeyi artıracağını ve bunun sonucunda teknik borcu azaltacağını ve kod kalitesini artıracağını söyledi. Kötü kod kalitesi ve teknik borç, şirketlere yılda bir trilyon dolardan fazlaya mal oluyor ve Sonar’ın, kod tabanlarının sürdürülebilir kalmasını ve sürdürülebilir bir şekilde gelişmesini sağlayarak bu yükün azaltılmasına yardımcı olabileceğini söyledi (bkz: SQL Enjeksiyonu: Saldırganlar için Yüksek Değerli Bir Hedef).
Bellingard, “Ne kadar müşterinin işlevselliklerimizi etkili bir şekilde kullandığını ve bundan nasıl yararlandıklarını takip edeceğiz” dedi. “Bu ekipler işlevleri ne kadar çok kullanırsa, Sonar’da o kadar çok kodu kontrol altına alacaklardır ve iş modelimizin kod satırlarına dayandığı göz önüne alındığında, daha fazla kod satırı daha fazla iş anlamına gelir.”