Kaynak kodlardaki sıralı örüntüleri keşfetmek yazılım mühendisliğinde önemli bir konudur, çünkü kod tamamlama, kodu yeniden düzenleme, geliştirici profili oluşturma, ve kod karmaşıklığı ölçümü gibi çeşitli işlemlerde yardımcı olacak yararlı bilgiler sağlayabilmektedir. Bu makale, bir yazılım projesinde sıkça geçen sıralı kuralları keşfeden ve Kaynak Kod Madencisi (SCodeMiner) adı verilen yeni bir yazılım çerçevesi önermektedir. Önerilen yazılım çerçevesi ilk olarak bir Java kaynak kodunu bir sıralı veri tabanına dönüştürür ve ardından bir sıralı örüntü madenciliği (SPM) algoritması uygular. Bu çalışma aynı zamanda, dört SPM algoritmasını çalışma süresi açısından karşılaştırması açısından da orijinaldir. Bu algoritmalar şunlardır: ön ek ile öngörülen sıralı örüntü madenciliği (PrefixSpan), denklik sınıflarını kullanarak sıralı örüntü keşfi (SPADE), çift yönlü uzatma (BIDE+), ve son pozisyon indüksiyonu (LAPIN). Açık kaynak kodlu bir yazılım projesi üzerinde gerçekleştirilen deneyler, önerilen SCodeMiner yazılım çerçevesinin kodlama örüntülerini belirlemede etkili bir madencilik aracı olduğunu göstermektedir.
Discovering sequential patterns in source codes is an important issue in software engineering since it can provide useful knowledge to help in a variety of tasks such as code completion, code refactoring, developer profiling, and code complexity measurement. This paper proposes a new framework, called Source Code Miner (SCodeMiner), which discovers frequent sequential rules within a software project. The proposed framework firstly transforms a Java code into a sequence data and then applies a sequential pattern mining (SPM) algorithm. This study is also original in that it compares four SPM algorithms in terms of computational time, including sequential pattern discovery using equivalence classes (SPADE), prefix-projected sequential pattern mining (PrefixSpan), bi-directional extension (BIDE+), and last position induction (LAPIN). The experiments that carried out on an open-source software project showed that the proposed SCodeMiner framework is an effective mining tool in identifying coding patterns.
Primary Language | English |
---|---|
Subjects | Engineering |
Journal Section | Articles |
Authors | |
Publication Date | January 31, 2022 |
Published in Issue | Year 2022 Volume: 10 Issue: 1 |