FBE- Bilgisayar Mühendisliği Lisansüstü Programı - Doktora
Bu koleksiyon için kalıcı URI
Gözat
Yazar "Buzluca, Feza" ile FBE- Bilgisayar Mühendisliği Lisansüstü Programı - Doktora'a göz atma
Sayfa başına sonuç
Sıralama Seçenekleri
-
ÖgeÇok Çekirdekli Sistemler İçin Nesneye Dayalı Yazılımların Model Tabanlı Paralelleştirilmesi(Fen Bilimleri Enstitüsü, 2011-09-05) Ovatman, Tolga ; Buzluca, Feza ; 410003 ; Bilgisayar Mühendisliği ; Computer EngineeringBu çalışmada sınıf bağımlılıkları arasında sıkça ortaya çıkan örüntüler ve bu örüntülerin yazılıma özgü gösterdiği karakteristikler, örüntülerin bir takım özellikleri incelenerek ortaya çıkarılmıştır. Bu örüntülerin sınıf çizeneklerinde ortaya çıkma biçimleri, örüntülerden çeşitli örnekler sunularak ve bu örneklerin çalışma zamanında gösterdiği davranışlar incelenerek açıklanmıştır. Bu şekilde bağımlılık örüntülerinin nesneye dayalı yazılımların paralelleştirilmesine olan etkisi incelenmiştir. Bağımlılık kalıplarının yazılımda gösterdiği özellikleri detaylandırmak amacıyla bir ölçüt kümesi tez çalışmalarında önerilmiştir. Tez çalışmalarında bağımlılık örüntülerinin otomatik olarak yazılım tasarımlarında algılanılmasına da odaklanılmıştır. Bu amaçla yazılım tasarımlarından edinilen çizgeler üzerinde öbekleme algoritmaları uygulanmış ve sonuçta bu algoritmaların özellikle “köprü” adı verilen örüntüleri algılamakta yetersiz kaldığı görülmüştür. Bu sorunu çözmeye yönelik tanımlanan algoritma ile hem “körprü”lerin algılanması sağlanmış hem de böylece öbekleme tekniklerinin bağımlılık kalıbı algılama amacıyla başarımı arttırılmıştır. Tez çalışmalarında son olarak çok çekirdekli işlemcilerde ortak kullanılan cep belleklerin paylaşılmasından sağlanan faydanın model tabanlı tekniklerle arttırılması üzerine yoğunlaşılmıştır. Tez çalışmaları sonucunda iki farklı alanda katkılar sağlanmıştır. Bunlardan ilki yazılım tasarımları kullanılarak yazılımın genelinde gizli bulunan paralelliğin ortaya çıkartılması ve model tabanlı bilgiler ışığında nesneye dayalı yazılımların iş sıralamasının yönlendirilmesidir. Sunulan deneyler, önerilen model tabanlı tekniklerin kullanımı ile %30 a varan başarım artışının sağlanabileceğini göstermektedir.
-
ÖgeNesneye Dayalı Yazılımlarda Tasarım Düzeyinde Klonların Belirlenmesi(Fen Bilimleri Enstitüsü, 2014-04-25) Tekin, Umut ; Buzluca, Feza ; 10032793 ; Bilgisayar Mühendisliği ; Computer EngineeringYazılımlardaki kopya veya belli bir ölçüte göre benzer yapılar yazılım klonları olarak adlandırılmaktadır. Bu tür klonların hızlı ve doğru biçimde belirlenebilmesi, yazılımların tasarımlarının anlaşılması ve iyileştirilmesi (tekrar eden yapıların kütüphanelerde toplanması, sık tekrarlanan tasarım hatlarının düzeltilmesi, lisans ihlallerinin belirlenmesi) konularında yarar sağlamaktadır. Bu tez çalışması kapsamında nesneye dayalı yazılımların tasarımlarındaki klonların belirlenebilmesi için özgün bir yöntem geliştirilmiştir. Geliştirilen yöntem üç temel aşamadan oluşmaktadır. Birinci aşamada, nesneye dayalı yazılımların kodları analiz edilerek kodun soyut sözdizimi ağacı çıkartılmaktadır. Bu ağaç yardımıyla yazılımların üst düzey tasarımlarını temsil eden bir çizge modeli oluşturulmaktadır. Daha sonra, yöntemi hızlandırmak ve aynı yazılım içindeki klonları da bulabilmek amacıyla bir çizge bölmeleme algoritması kullanılarak yazılımın çizge modeli uygun alt çizgelere bölünmektedir. Bölmeleme işlemi sırasında, nesneye dayalı yazılımlar için oldukça önemli ve değiştirilmesi zor olan kalıtım türü ilişkilerin kaybolmaması için bu ilişki tiplerine yüksek ağırlık atanarak, bölmeleme işlemi ağırlıklı biçimde gerçekleştirilmektedir. Üçüncü aşamada ise elde edilen parçalardan bir çizgeler kümesi oluşturulup, bu küme üzerine “sık görünen eş yapılı alt çizge” bulma algoritması uygulanmaktadır. Son aşamada elde edilen sık görünen eş yapılı alt çizgeler, üzerinde çalışılan yazılım veya yazılımların tasarımlarında bulunan tasarım klonlarının modellerini ifade etmektedirler. Çalışma kapsamında açık kaynak kodlu ve endüstriyel yazılımlar üzerinde yapılan deneyler, geliştirilen yöntem ile aynı yazılımın içindeki veya farklı yazılımlar arasındaki tasarım klonlarının belirlenebildiğini göstermiştir. Belirlenen bu tasarım klonlarının, kopyalama sonucu oluşanlarında genellikle kaynak kodları değiştirildiğinden sadece kod karşılaştırması yapan yöntemler ile belirlenmeleri mümkün değildir.