Rancang Bangun Kakas Bantu TRACEREQLINKER untuk melakukan Syntatic Software Traceability antara Source Code dengan Kebutuhan

Surya Nugraha, Cahyadi (2024) Rancang Bangun Kakas Bantu TRACEREQLINKER untuk melakukan Syntatic Software Traceability antara Source Code dengan Kebutuhan. Other thesis, Institut Teknologi Sepuluh Nopember.

[thumbnail of 5025201184_Undergraduate_Thesis.pdf] Text
5025201184_Undergraduate_Thesis.pdf - Accepted Version
Restricted to Repository staff only until 1 October 2026.

Download (6MB) | Request a copy

Abstract

Software traceability adalah kemampuan untuk melacak dan memahami hubungan antara hingga pengembangan, pengujian, dan pemeliharaan. Software traceability memungkinkan tim elemen-elemen yang berbeda dalam siklus hidup perangkat lunak, mulai dari persyaratan awal pengembang untuk melacak setiap elemen perangkat lunak, seperti persyaratan, spesifikasi, desain, kode, dan dokumentasi terkait. Penerapan software traceability melibatkan penggunaan alat bantu yang tepat, seperti sistem manajemen persyaratan, alat manajemen konfigurasi, dan alat pelacakan cacat. Dengan menggunakan alat-alat ini, tim pengembang dapat dengan mudah melacak dan memverifikasi hubungan antara elemen-elemen perangkat lunak yang berbeda dan memastikan integritas dan konsistensi selama siklus hidup perangkat lunak. Namun saat ini, terdapat keterbatasan dalam jumlah alat bantu yang dapat melakukan penelusuran source code dengan menggunakan kalimat kebutuhan. Kondisi ini menciptakan tantangan dalam memahami bagaimana kebutuhan pengguna atau pemangku kepentingan diterjemahkan dan diimplementasikan dalam source code. Dengan keterbatasan alat bantu yang ada, kemampuan untuk melacak persyaratan ke source code menjadi sulit dan memakan waktu. Dampak dari keterbatasan ini adalah risiko kesenjangan atau inkonsistensi antara kebutuhan yang ditentukan dan implementasi sebenarnya dalam source code. Oleh karena itu, dalam tugas akhir ini dilakukan pembuatan kakas bantu yang akan dibuat menggunakan bahasa Java bernama TRACEREQLINKER yang berfungsi sebagai kakas bantu untuk ekstraksi source code dalam bahasa Java dengan menggunakan parser Another Tool for Language Recognition (ANTLR). Dalam uji coba, digunakan dua data ground truth, yaitu data Gantt, data Dummy, dan data Chess Java. Prosesnya dimulai dengan ekstraksi informasi dari source code dan kalimat kebutuhan menggunakan alat bantu, termasuk tipe kelas, nama kelas, nama metode, dan nama parameter metode. Hasil ekstraksi ini kemudian diseragamkan dengan format camelCase dan mengubah semua huruf menjadi huruf kecil. Selanjutnya, pemetaan antara hasil proses kalimat kebutuhan dan source code dilakukan dengan menghitung nilai kemiripan menggunakan heuristic levenshtein distance antara nama metode dan kalimat kebutuhan untuk menghasilkan trace link. Terakhir, nilai akurasi alat bantu diperiksa dengan mencocokkan hasil trace link alat bantu dengan data ground truth. Hasil dari pengujian trace link akan dilakukan pengukuran menggunakan confusion matrix, dan didapatkan precision 0,980, accuracy 0,999, recall 1,000, dan F1-Score 0,990 untuk data Gantt. Lalu untuk data Chess Java didapatkan precision 0,831, accuracy 0,888, recall 0,410, dan F1-Score 0,549. Sedangkan untuk data Dummy didapatkan precision 1,000, accuracy 0,984, recall 0,550, dan F1-Score 0,710.
=========================================================================
Software traceability refers to the capacity to track and comprehend the relationships between various parts of the software lifecycle, from initial requirements to development, testing, and maintenance. It enables development teams to track all software elements, including requirements, specifications, design, code, and supporting documentation. Software traceability is implemented utilizing appropriate tools such as requirements management systems, configuration management tools, and defect tracking tools. These tools enable development teams to quickly manage and verify interactions between various software parts, assuring integrity and consistency throughout the program lifecycle. Currently, there are just a few tools that can trace source code using requirement statements. This complicates understanding how user or stakeholder needs are translated and implemented in the source code. Because of these constraints, tracing requirements to source code is complex and timeconsuming. This constraint raises the possibility of gaps or contradictions between the declared requirements and their actual implementation in the source code. As a result, in this thesis, a Java-based tool called TRACEREQLINKER is built to assist with source code extraction in Java using the Another Tool for Language Recognition (ANTLR) parser. The experiment used three kinds of ground truth data: Gantt, Dummy, and Java Chess. The process began with the tool extracting information from the source code and requirement sentences, including details such as class type, class name, method name, and parameter names. The retrieved data was then normalized by splitting words into camelCase and converting all letters to lowercase. Following that, a mapping was conducted between the processed requirement sentences and the source code by computing the similarity value using the heuristic levenshtein distance between the method names and the requirement words to generate trace linkages. Finally, the tool's accuracy was verified by comparing the trace link results to the ground truth data. The results of the trace link test will be measured using a confusion matrix, and obtained precision 0.980, accuracy 0.999, recall 1.000, and F1-Score 0.990 for Gantt data. Then for Chess Java data obtained precision 0.831, accuracy 0.888, recall 0.410, and F1-Score 0.549. While for Dummy data obtained precision 1.000, accuracy 0.984, recall 0.550, and F1-Score 0.710.

Item Type: Thesis (Other)
Uncontrolled Keywords: ANTLR, Java, Software Traceability, Syntactic, Trace link
Subjects: T Technology > T Technology (General)
T Technology > T Technology (General) > T59.7 Human-machine systems.
Divisions: Faculty of Intelligent Electrical and Informatics Technology (ELECTICS) > Informatics Engineering > 55201-(S1) Undergraduate Thesis
Depositing User: Cahyadi Surya Nugraha
Date Deposited: 02 Aug 2024 07:29
Last Modified: 02 Aug 2024 07:29
URI: http://repository.its.ac.id/id/eprint/111499

Actions (login required)

View Item View Item