Geri Dön

Kaynak kod benzerliklerinin tespitine yönelik bir paralel web uygulamasının geliştirilmesi

Development of a parallel web application for source code similarity detection

  1. Tez No: 426028
  2. Yazar: UĞUR KILIÇ
  3. Danışmanlar: YRD. DOÇ. DR. DENİZ DAL
  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: Belirtilmemiş.
  7. Yıl: 2015
  8. Dil: Türkçe
  9. Üniversite: Atatürk Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 108

Özet

Kaynak kodları arasındaki benzerliklerin tespiti birçok alanda önem arz etmektedir. Endüstriyel uygulamalarda, örneğin geniş ölçekli yazılım projelerinde, kaynak kodlarının aynen veya kısmi değişiklikler yapılarak yeniden kullanılmasına sıklıkla rastlanılmaktadır. Bu ise yazılımın okunabilirliğini azaltmakta ve bakımını zorlaştırmaktadır. Oysaki bu durumun önüne yazılımın yeniden yapılandırılması aşamasında kaynak kod benzerlik tespit yazılımları kullanılarak geçilebilir. Bu sayede kaynak kod dosyaları arasındaki kopyalanmış kod blokları tespit edilebilir, bu kod blokları sadeleştirilebilir ve tek bir fonksiyon altında toplanabilir. Eğitim alanındaki, özellikle programlama derslerine kayıtlı öğrenciler arasında yaygın olarak rastlanan kaynak kod paylaşımı da tespiti önemli bir başka sorundur. Şüphesiz ki bu durum öğretim kalitesini düşürmekte ve değerlendirme aşamasında haksızlıklara neden olmaktadır. Yukarıdaki paragrafta bahsedilen hususların motive ettiği bu tez kapsamında C/C++ ile yazılan kaynak kodlarının benzerliklerini tespit edecek paralel bir web uygulaması geliştirilmiştir. Bu amaçla Greedy String Tiling algoritması C# programlama dili ve çoklu iş parçacıkları sayesinde paralelleştirilmiştir. Söz konusu uygulama hem ulusal hem de uluslarası eğitim kurumları tarafından basit bir üyelik işlemi sonrasında ücretsiz kullanılmak üzere paylaşıma açılmıştır.

Özet (Çeviri)

Source code similarity detection is very important in many fields. In industrial applications, for example in large-scale software projects, reusing a complete or a partially changed source code over and over is encountered frequently. This reduces the readability and makes the maintenance more difficult. However, this situation can be prevented and be bypassed at the restructuring stage using a source code similarity detection software. In this way, the copied code blocks inside a source code can be determined and simplified. Moreover, they can be grouped under a single functional unit. In education, it is also an another important issue to identify the source code sharing especially commonly encountered among the students enrolled in programming courses. Certainly, this reduces the quality of teaching and leads to injustice in the evaluation. Motivated by the facts mentioned in the preceding paragraph, a parallel web application is developed for detecting the source code similarities written in C/C++ within the scope of this thesis. For this purpose, Greedy String Tiling Algorithm is parallelized using C# programming language with multi-threading. The application is shared with both national and international educational institutions and can be used free of charge after a simple registration process.

Benzer Tezler

  1. Soyut sözdizimi ağaçları ve derin öğrenme yöntemleriyle kod benzerliklerinin tespiti

    Detection of code similarities using abstract syntax trees and deep learning methods

    NECMETTİN ELMASCI

    Yüksek Lisans

    Türkçe

    Türkçe

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolFatih Sultan Mehmet Vakıf Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ ALİ NİZAM

  2. Code clone detection with convolutional neural network

    Konvolüsyonel sinir ağı ile kod klon tespiti

    HARUN DİŞLİ

    Yüksek Lisans

    İngilizce

    İngilizce

    2019

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ AYŞE TOSUN

  3. Development of a software on distance education applications for compilation and plagiarism detection of C programming language assignments

    Uzaktan eğitim uygulamalarında C programlama dili ödevlerinin derlenmesi ve intihal tespiti için bir yazılım geliştirilmesi

    MÜMİNE KAYA

    Yüksek Lisans

    İngilizce

    İngilizce

    2011

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolÇukurova Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. SELMA AYŞE ÖZEL

  4. Avrupa Birliği projelerinin okul yenileşme iklimine katkısına ilişkin öğretmen görüşleri

    Teachers' views regarding the contribution of European Union projects to innovativeness climate in schools

    GÜLNUR ÇAT

    Yüksek Lisans

    Türkçe

    Türkçe

    2022

    Eğitim ve ÖğretimMarmara Üniversitesi

    Eğitim Bilimleri Ana Bilim Dalı

    DOÇ. DR. AHMET FARUK LEVENT

  5. Implementation of a distributed video codec

    Bir dağıtık video kodlayıcı-kod çözücünün gerçekleştirimi

    CEM VEDAT IŞIK

    Yüksek Lisans

    İngilizce

    İngilizce

    2008

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik Üniversitesi

    Elektrik-Elektronik Mühendisliği Ana Bilim Dalı

    DOÇ. DR. GÖZDE BOZDAĞI AKAR