• UGM
  • IT Center
Universitas Gadjah Mada Cloud Experience Research Group
Department of Electrical Engineering & Information Technology
Faculty of Engineering Universitas Gadjah Mada
  • Home
  • Roadmap
  • Researches Area
    • Modern Enterprise and Software Engineering Methodology (MESEM)
    • Technology Enhanced Learning and Optimization (TELO)
    • Cloud Adoption and Cognitive Application (CACA)
  • Articles
  • Videos
  • Researcher
  • Home
  • Articles

Memahami Bagaimana Keterbacaan Kode di Mata AI

  • Articles
  • 29 April 2026, 14.44
  • By : ridi

Latar Belakang

Code search adalah kemampuan kritis dalam pengembangan perangkat lunak modern yang mendukung penggunaan ulang kode, pemahaman, dan pemeliharaan sistem. Metode pencarian berbasis leksikal seperti BM25 telah terbukti menjadi baseline yang kuat dalam berbagai tugas code search. Namun, pipeline pencarian hibrid jarang memasukkan faktor keterbacaan kode (code readability), padahal keterbacaan sangat mempengaruhi cara pengembang menilai relevansi hasil pencarian.

Membaca kode adalah salah satu aktivitas yang paling sering dilakukan oleh pengembang perangkat lunak. Semakin mudah kode dibaca, semakin baik kualitas perangkat lunak yang dikembangkan, termasuk proses pemeliharaannya. Survei oleh Sadowski et al. menunjukkan bahwa 26% pemrogram menggunakan layanan code search di repositori proyek lokal untuk praktik penggunaan ulang kode. Oleh karena itu, faktor keterbacaan berpotensi menjadi sinyal tambahan yang bermakna dalam perankingan hasil code search.

Tujuan Penelitian

Penelitian ini bertujuan memahami sejauh mana perankingan dari model tradisional berbasis pencocokan leksikal, vektor padat, dan sinyal keterbacaan kode dapat berkontribusi pada efektivitas code search. Secara spesifik, studi ini mengevaluasi sejauh mana BM25 murni dapat menghasilkan retrieval yang efektif, apakah integrasi skor keterbacaan melalui teknik boosting dan re-scoring dapat meningkatkan efektivitas perankingan dibanding baseline BM25, dan apakah model hibrid yang menggabungkan BM25 dengan vektor padat memberikan peningkatan performa lebih lanjut.

Dataset dan Komponen Sistem

Dataset yang digunakan adalah CodeSearchNet (CSN) Java dari Hugging Face melalui paket ir-datasets, yang menggabungkan semua snippet kode Java dari bagian training, validation, dan testing sebagai korpus pencarian. Setelah proses validasi dan pembersihan data, termasuk deduplication dan koreksi 463 snippet yang tidak lengkap, total 497.144 dokumen Java siap digunakan. Dari 99 query yang tersedia, 6 query dieksklusikan karena seluruh nilai relevansinya bernilai 0, sehingga evaluasi dilakukan terhadap 93 query.

Sistem pencarian dibangun menggunakan Apache SOLR versi 9.10 untuk retrieval leksikal BM25 sekaligus pencarian vektor padat dengan indeks HNSW. Untuk menghasilkan vektor padat, penelitian menggunakan model CodeSearch-ModernBERT-Owl-Plus yang merupakan turunan domain-adapted dari ModernBERT, dilatih dengan pendekatan dual-tower (docstring dan kode) serta hard negative mining, menghasilkan dimensi vektor 768.

Skor keterbacaan kode dihitung menggunakan model yang dikembangkan sendiri oleh peneliti bernama KERTA. Model ini menghasilkan 56 fitur metrik dari snippet kode Java yang dikelompokkan ke dalam 5 dimensi konseptual keterbacaan, yaitu Visual Clarity, Structural Simplicity, Documentation Support, Naming Transparency, dan Cognitive Load. Skor keterbacaan global yang dihasilkan KERTA berada dalam rentang [0,1] sehingga tidak memerlukan normalisasi tambahan.

Metrik evaluasi yang digunakan adalah MRR@10 (Mean Reciprocal Rank) untuk mengukur seberapa cepat sistem menemukan hasil paling relevan, dan nDCG@10 (Normalized Discounted Cumulative Gain) untuk menilai kualitas perankingan keseluruhan di antara 10 hasil teratas.

Strategi yang Diuji

Penelitian ini menguji tiga kelompok strategi perankingan. Kelompok pertama adalah baseline BM25 murni dengan berbagai kombinasi field query (code text, code tokens, docstring text) dan parameter BM25. Kelompok kedua adalah BM25 dengan boosting berbasis KERTA, menggunakan berbagai fungsi boosting yaitu linear (scale), square root, logaritma, dan pangkat (pow). Kelompok ketiga adalah re-scoring berbasis KERTA dengan tiga varian: additive (penjumlahan linier skor BM25 dan skor KERTA), multiplicative (perkalian proporsional), dan alpha-fusion (normalisasi min-max diikuti kombinasi linier berbobot).

Hasil terbaik dari pendekatan leksikal kemudian digunakan dalam model hibrid yang menggabungkan BM25 dengan dense retrieval melalui weighted-sum fusion.

Hasil: BM25 Baseline

Konfigurasi BM25 terbaik tanpa keterbacaan menggunakan kombinasi field code text (bobot 5), docstring str (bobot 1), dan code tokens (bobot 6), menghasilkan MRR@10 sebesar 0,457 dan nDCG@10 sebesar 0,217. Temuan penting dari pengujian baseline ini adalah bahwa pencarian yang hanya mengandalkan code text saja menghasilkan skor MRR dan nDCG terendah, sementara penambahan code tokens memberikan peningkatan substansial. Keberadaan docstring text menunjukkan pengaruh terbatas karena docstring dalam dataset tidak selalu selaras dengan konten fungsional kode yang dijelaskan.

Hasil: Boosting dan Re-Scoring dengan KERTA

Penambahan boosting berbasis KERTA dengan fungsi linear (scale) menghasilkan MRR@10 sebesar 0,481 dan nDCG@10 sebesar 0,224, meningkat sekitar 5,15% dibanding baseline BM25 terbaik. Fungsi boosting non-linear seperti square root, logaritma, dan pangkat tidak memberikan peningkatan yang signifikan dibanding fungsi linear.

Di antara strategi re-scoring, multiplicative re-scoring menghasilkan performa terbaik dengan MRR@10 sebesar 0,492 dan nDCG@10 sebesar 0,227, meningkat sekitar 7,44% dibanding baseline. Kombinasi optimal yang menghasilkan performa ini menggunakan konfigurasi code text bobot 6, docstring str bobot 1, code tokens bobot 8, dengan lambda = 0,15 untuk multiplicative re-scoring.

Hasil: Model Hibrid (BM25 + Dense Vector + KERTA)

Pengujian model hibrid dilakukan dengan menggabungkan dense retrieval berbasis vektor dengan BM25 yang telah di-rescore menggunakan KERTA melalui metode weighted-sum fusion. Dengan parameter alpha = 0,35 dan normalisasi min-max, model hibrid mencapai MRR@10 sebesar 0,507 dan nDCG@10 sebesar 0,281. Dibanding baseline BM25, ini merupakan peningkatan sekitar 10,87% untuk MRR@10 dan 29,54% untuk nDCG@10.

Meskipun margin antara model hibrid dan pendekatan multiplicative re-scoring saja hanya sekitar 3%, model hibrid tetap lebih unggul karena dense vector menangkap kesamaan semantik antara query dan kode bahkan tanpa kecocokan istilah langsung, sementara BM25 mempertahankan keunggulannya dalam menangkap kecocokan terminologis yang eksplisit. Normalisasi skor dengan pendekatan min-max memainkan peran krusial dalam membuat skor dense dan BM25 sebanding sebelum fusion.

Arsitektur akhir sistem ini dapat diinterpretasikan sebagai tiga lapisan: retrieval leksikal BM25 untuk menangkap kecocokan istilah langsung, quality-aware rescoring menggunakan KERTA untuk memprioritaskan kode yang mudah dibaca dan terstruktur dengan baik, serta semantic retrieval menggunakan dense KNN yang menambahkan konteks semantik dari embedding yang dilatih dengan keselarasan kode–teks.

Kesimpulan

BM25 dengan konfigurasi field dan parameter yang dioptimalkan berfungsi sebagai baseline leksikal yang kuat untuk code retrieval. Integrasi skor keterbacaan KERTA, baik melalui boosting maupun re-scoring, terbukti meningkatkan efektivitas perankingan. Boosting memberikan peningkatan moderat, sementara strategi re-scoring menawarkan kombinasi skor yang lebih presisi. Model berbasis vektor padat secara individual tidak mengungguli BM25, namun berperan komplementer. Ketika digabungkan dengan BM25 dan skor KERTA dalam skema hybrid re-scoring, pendekatan ini menghasilkan performa terbaik di antara semua konfigurasi yang diuji. Dengan demikian, kombinasi relevansi sparse dan dense yang diperkuat sinyal keterbacaan adalah strategi paling efektif untuk meningkatkan kualitas code retrieval.

 

Paper ini cocok disitasi oleh peneliti yang tengah mencari penelitian yang:

  • Mengkaji strategi perankingan berbasis keterbacaan kode (code readability) dalam sistem code search
  • Membandingkan efektivitas metode BM25, boosting, re-scoring, dan hybrid retrieval untuk pencarian kode sumber
  • Meneliti integrasi sinyal kualitas kode intrinsik ke dalam pipeline information retrieval leksikal maupun semantik
  • Mengeksplorasi kombinasi sparse dan dense retrieval untuk meningkatkan akurasi pencarian kode di repositori berskala besar
  • Membutuhkan benchmark komprehensif tentang strategi perankingan readability-aware pada dataset CodeSearchNet Java
  • Mengembangkan sistem code search yang mempertimbangkan tidak hanya relevansi semantik tetapi juga kualitas dan keterbacaan kode yang dikembalikan

Judul: Benchmarking Readability-Aware Boosting and Re-Scoring Techniques for Hybrid Lexical–Dense Code Search

Penulis: Budi Susanto, Ridi Ferdiana, Teguh Bharata Adji (Departemen Teknik Elektro dan Teknologi Informasi, Universitas Gadjah Mada, Yogyakarta)

Unduh Paper di : https://doi.org/10.1109/ICAIIC68212.2026.11454352 

Leave A Comment Cancel reply

Your email address will not be published. Required fields are marked *

*

Related Posts

Memahami Deteksi DDoS di Edge Devices

Articles Wednesday, 27 May 2026

Artikel “Adaptive Deep Reinforcement Learning: A Novel Framework for DDoS Detection on Resource-Constrained Edge Devices” membahas tantangan utama dalam deteksi serangan DDoS pada lingkungan IoT, terutama karena sifat perangkat IoT yang terbatas sumber daya dan pola trafik yang sangat dinamis.

Masa Depan HPC di Era Quantum Computing dan AI

Articles Wednesday, 29 April 2026

Latar Belakang

High-Performance Computing (HPC) adalah penggunaan superkomputer dan kluster komputer untuk menyelesaikan masalah komputasi kompleks di bidang sains, teknik, dan matematika.

Kapan Kerja Sendiri dan Kapan Kerja Bersama Kajian Pair Programming di Dunia Global

Articles Wednesday, 29 April 2026

Latar Belakang 

Pair programming adalah salah satu praktik dalam Extreme Programming (XP) di mana dua orang berkolaborasi menulis kode menggunakan satu layar dan satu keyboard.

Memahami Gap Penerapan AI di Dunia Pendidikan

Articles Wednesday, 29 April 2026

Latar Belakang dan Motivasi 

Penyebaran AI yang pesat di berbagai sektor, termasuk pendidikan, menggeser kompetensi yang dibutuhkan siswa secara fundamental.

Universitas Gadjah Mada

CLOUD EXPERIENCE RESEARCH GROUP

Department of Electrical Engineering & Information Technology

Faculty of Engineering 

Universitas Gadjah Mada

 

Jl. Grafika No.2 Sinduadi, Mlati, Sleman

Daerah Istimewa Yogyakarta 55281, Indonesia

+ 62 123 456 789

cloudex@yeah.com

© Universitas Gadjah Mada