Geri Dön

Modularization of software libraries

Yazılım kütüphanelerinin gruplandırılması

  1. Tez No: 981574
  2. Yazar: BURAK ÖYKE
  3. Danışmanlar: PROF. DR. HASAN SÖZER
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Doğrusal tamsayı programlama, Linear integer programming
  7. Yıl: 2025
  8. Dil: İngilizce
  9. Üniversite: Özyeğin Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Bilimleri Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: Belirtilmemiş.

Özet

Yazılım kümeleme yaklaşımlarının çoğu, etkili bir kümeleme için uyumluluk ve bağımlılı-ğı dengelemeye odaklanmaktadır. Ancak, yazılım kütüphanelerinin benzersiz özellikleri göz önünde bulundurulduğunda kümeleme ölçütleri farklı şekilde ele alınmalıdır. Bu sistemlerde, modüllerin birbirine olan bağımlılıkları yerine ortak kullanım kalıpları tarafın-dan tanımlanan uyumluluk birincil kriter olarak ortaya çıkmaktadır. Modüller, birbirleriyle güçlü bir şekilde uyumluluğu için değil, genellikle diğer modüller tarafından birlikte kullanıldıkları için gruplandırılmıştır. Bu bakış açısına göre yeni bir optimizasyon modeli önerilmiştir ve etkinliğini iki vaka çalışmasıyla değerlendirilmiştir. İlk çalışma, tüketici elektroniği alanından bir endüstriyel uygulamayı içermektedir. İkinci çalışma, mevcut paketlerin modüller adı verilen daha üst düzey bir paketleme ve kapsülleme birimine yeniden düzenlendiği Java 8'den Java 9 Platform Modül Sistemine geçişi incelemektedir. Değerlendirme, modüller tarafından ihtiyaç duyulan küme sayısı ve yinelenen modül içe aktarmalarının azaltılmasıyla ölçülen kümeleme verimliliğine odaklanmaktadır. Modüller kümelere ayrılarak gruplanınca, birkaç kümeyi içe aktarmak tüm modüllerini erişilebilir hale getirir ve genel içe aktarım sayısnı azaltmaktadır. Ancak bu azalmayı dengelemek amacıyla, her kümeye yalnızca o kümeyle ilgili modüller dahil edilmiştir. Modelimizin sonuçlarını, elle oluşturulan kümelerle ve mevcut kümeleme algoritmaları tarafından üretilen alternatif çözümlerle karşılaştırarak önemli performans iyileştirmeleri gösterilmiştir.

Özet (Çeviri)

Most existing software modularization approaches focus on balancing cohesion and coupling to cluster software modules effectively. However, the criteria for modularizing software libraries should be addressed differently, given their unique characteristics. In these systems, cohesion emerges as the primary criterion, defined by the common usage patterns of modules rather than their interdependencies. Modules are grouped not because of strong coupling with each other but because they are often used together by other modules. We propose a novel optimization model based on this perspective and evaluate its effectiveness with two case studies. The first study involves an industrial application from the consumer electronics domain. The second study examines the transition from Java 8 to the Java 9 Platform Module System, where existing packages are reorganized into a higher-level unit of packaging and encapsulation, called modules. Our evaluation focuses on the efficiency of clustering, measured by the number of clusters required by modules and the reduction in redundant module imports. By grouping modules into clusters, importing a few clusters makes all its modules available, reducing overall imports. However, the goal is to balance this reduction by ensuring that only relevant modules are included in each cluster to prevent redundancy. We compare the results of our model against manually created clusters and alternative solutions generated by existing clustering algorithms, demonstrating significant performance improvements.

Benzer Tezler

  1. Development/ testing of software for a cubesat for high resolution earth observation in a low earth orbit

    Alçak dünya yörüngesinde yüksek çözünürlüklü dünya gözlemine yönelik bir cubesat yazılımının geliştirilmesi/test edilmesi

    MEHREEN AZAM

    Yüksek Lisans

    İngilizce

    İngilizce

    2024

    Havacılık ve Uzay Mühendisliğiİstanbul Teknik Üniversitesi

    Uçak ve Uzay Mühendisliği Ana Bilim Dalı

    PROF. DR. ALİM RÜSTEM ASLAN

  2. Nesneye dayalı yazılımları servis odaklı modüllere ayrıştırma için öğrenme tabanlı bir yöntem

    A learning-based method for extracting service-oriented modules in object-oriented software

    URAL ERDEMİR

    Doktora

    Türkçe

    Türkçe

    2014

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Bilimleri Ana Bilim Dalı

    DOÇ. DR. FEZA BUZLUCA

  3. Design and implementation of a domain specific language for event sequence graphs

    Olay sıra çizgeleri için alana özgü dil tasarımı ve uygulaması

    MERT KALECİK

    Yüksek Lisans

    İngilizce

    İngilizce

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİzmir Yüksek Teknoloji Enstitüsü

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. TUĞKAN TUĞLULAR

    PROF. DR. FEVZİ BELLİ

  4. İlgiye yönelik yaklaşımla yazılım geliştirme

    Software development with aspect oriented approach

    OYTUN KURTAR

    Yüksek Lisans

    Türkçe

    Türkçe

    2007

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolYıldız Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF.DR. OYA KALIPSIZ

  5. Automated procedure clustering for reverse engineering PL/SQL programs

    PL/SQL programları için otomatik prosedür gruplama

    METİN ALTINIŞIK

    Yüksek Lisans

    İngilizce

    İngilizce

    2016

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolÖzyeğin Üniversitesi

    Bilgisayar Bilimleri Ana Bilim Dalı

    YRD. DOÇ. DR. HASAN SÖZER

    YRD. DOÇ. DR. GONCA GÜRSUN