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
- Tez No: 426028
- Danışmanlar: YRD. DOÇ. DR. DENİZ DAL
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2015
- Dil: Türkçe
- Üniversite: Atatürk Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- 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
- 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
2023
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolFatih Sultan Mehmet Vakıf ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ ALİ NİZAM
- Code clone detection with convolutional neural network
Konvolüsyonel sinir ağı ile kod klon tespiti
HARUN DİŞLİ
Yüksek Lisans
İngilizce
2019
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ AYŞE TOSUN
- 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
2011
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolÇukurova ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. SELMA AYŞE ÖZEL
- 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
2022
Eğitim ve ÖğretimMarmara ÜniversitesiEğitim Bilimleri Ana Bilim Dalı
DOÇ. DR. AHMET FARUK LEVENT
- 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
2008
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
DOÇ. DR. GÖZDE BOZDAĞI AKAR