Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics
Keberadaan lazy class sebagai code smell dapat meningkatkan jumlah class yang tidak begitu perlu pada perangkat lunak, sehingga meningkatkan biaya pemeliharaan dari segi waktu dan usaha. Ancaman tersebut dapat diatasi dengan restrukturisasi internal atau refactoring perangkat lunak. Namun, akibat k...
Main Authors: | , , , , , , , |
---|---|
Format: | Article |
Language: | Indonesian |
Published: |
University of Brawijaya
2022-08-01
|
Series: | Jurnal Teknologi Informasi dan Ilmu Komputer |
Online Access: | https://jtiik.ub.ac.id/index.php/jtiik/article/view/4646 |
_version_ | 1797194576271769600 |
---|---|
author | Umi Sa'adah Desy Intan Permatasari Fadilah Fahrul Hardiansyah Andhik Ampuh Yunanto Jauari Akhmad Nur Hasim Irma Wulandari Muhammad Reza Pahlevi Dufan Quraish Shihab |
author_facet | Umi Sa'adah Desy Intan Permatasari Fadilah Fahrul Hardiansyah Andhik Ampuh Yunanto Jauari Akhmad Nur Hasim Irma Wulandari Muhammad Reza Pahlevi Dufan Quraish Shihab |
author_sort | Umi Sa'adah |
collection | DOAJ |
description |
Keberadaan lazy class sebagai code smell dapat meningkatkan jumlah class yang tidak begitu perlu pada perangkat lunak, sehingga meningkatkan biaya pemeliharaan dari segi waktu dan usaha. Ancaman tersebut dapat diatasi dengan restrukturisasi internal atau refactoring perangkat lunak. Namun, akibat keterbatasan tool, mengharuskan proses refactoring dilakukan secara manual, sehingga membutuhkan waktu dan biaya pemeliharaan yang tinggi. Penelitian ini mengajukan sebuah tool yang dapat mendeteksi dan me-refactoring lazy class secara otomatis. Penelitian yang diajukan ini bertujuan untuk menghindari refactoring lazy class secara manual. Input dari tool merupakan lokasi sebuah projek. Proses dimulai dari mendeteksi file dan class pada projek. Kemudian dilakukan proses deteksi lazy class dengan mengukur karakteristik perangkat lunak atau software metrics. Tahapan terakhir yaitu proses refactoring otomatis, yang dilakukan dengan membuat, me-replace, atau menghapus file, untuk menghasilkan projek yang telah di-refactor. Berdasarkan hasil percobaan, tool yang dikembangkan ini mampu mendeteksi dan me-refactoring lazy class dengan tingkat akurasi sama dengan manual dan proses kecepatannya hanya 5,71 detik. Sehingga hal ini menunjukkan bahwa tool dapat bekerja secara akurat dan lebih cepat dibandingkan dengan cara manual. Serta tool ini diharapkan dapat membantu para pengembang untuk meminimalisir effort dari segi biaya dan waktu dalam melakukan refactoring.
Abstract
The existence of lazy classes as code smells can increase the number of unnecessary classes in software, thus increasing maintenance costs in terms of time and effort. These threats can be overcome by internal restructuring or software refactoring. However, due to limited tools, the refactoring process is required to be done manually, which requires time and high maintenance costs. This research proposes a tool that can detect and refactor lazy class automatically. This research is proposed to avoid refactoring lazy class manually. The input of the tool is the location of a project. The process starts with detecting files and classes in the project. Then the lazy class detection process is carried out by measuring the characteristics of the software or software metrics. The final stage is the automatic refactoring process, which is done by creating, replacing, or deleting files, to produce a refactored project. Based on the experimental results, the tool developed is able to detect and refactoring lazy classes with the same accuracy level as manual and the process speed is only 5.71 seconds. So this shows that the tool can work accurately and faster than the manual method. And this tool is expected to help developers to minimize the effort in terms of cost and time in refactoring.
|
first_indexed | 2024-04-24T05:58:28Z |
format | Article |
id | doaj.art-25a931e053d94b7684152d4b4eda756a |
institution | Directory Open Access Journal |
issn | 2355-7699 2528-6579 |
language | Indonesian |
last_indexed | 2024-04-24T05:58:28Z |
publishDate | 2022-08-01 |
publisher | University of Brawijaya |
record_format | Article |
series | Jurnal Teknologi Informasi dan Ilmu Komputer |
spelling | doaj.art-25a931e053d94b7684152d4b4eda756a2024-04-23T08:46:34ZindUniversity of BrawijayaJurnal Teknologi Informasi dan Ilmu Komputer2355-76992528-65792022-08-019410.25126/jtiik.2022934646956Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software MetricsUmi Sa'adah0Desy Intan Permatasari1Fadilah Fahrul Hardiansyah2Andhik Ampuh Yunanto3Jauari Akhmad Nur Hasim4Irma Wulandari5Muhammad Reza Pahlevi6Dufan Quraish Shihab7Politeknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, Surabaya Keberadaan lazy class sebagai code smell dapat meningkatkan jumlah class yang tidak begitu perlu pada perangkat lunak, sehingga meningkatkan biaya pemeliharaan dari segi waktu dan usaha. Ancaman tersebut dapat diatasi dengan restrukturisasi internal atau refactoring perangkat lunak. Namun, akibat keterbatasan tool, mengharuskan proses refactoring dilakukan secara manual, sehingga membutuhkan waktu dan biaya pemeliharaan yang tinggi. Penelitian ini mengajukan sebuah tool yang dapat mendeteksi dan me-refactoring lazy class secara otomatis. Penelitian yang diajukan ini bertujuan untuk menghindari refactoring lazy class secara manual. Input dari tool merupakan lokasi sebuah projek. Proses dimulai dari mendeteksi file dan class pada projek. Kemudian dilakukan proses deteksi lazy class dengan mengukur karakteristik perangkat lunak atau software metrics. Tahapan terakhir yaitu proses refactoring otomatis, yang dilakukan dengan membuat, me-replace, atau menghapus file, untuk menghasilkan projek yang telah di-refactor. Berdasarkan hasil percobaan, tool yang dikembangkan ini mampu mendeteksi dan me-refactoring lazy class dengan tingkat akurasi sama dengan manual dan proses kecepatannya hanya 5,71 detik. Sehingga hal ini menunjukkan bahwa tool dapat bekerja secara akurat dan lebih cepat dibandingkan dengan cara manual. Serta tool ini diharapkan dapat membantu para pengembang untuk meminimalisir effort dari segi biaya dan waktu dalam melakukan refactoring. Abstract The existence of lazy classes as code smells can increase the number of unnecessary classes in software, thus increasing maintenance costs in terms of time and effort. These threats can be overcome by internal restructuring or software refactoring. However, due to limited tools, the refactoring process is required to be done manually, which requires time and high maintenance costs. This research proposes a tool that can detect and refactor lazy class automatically. This research is proposed to avoid refactoring lazy class manually. The input of the tool is the location of a project. The process starts with detecting files and classes in the project. Then the lazy class detection process is carried out by measuring the characteristics of the software or software metrics. The final stage is the automatic refactoring process, which is done by creating, replacing, or deleting files, to produce a refactored project. Based on the experimental results, the tool developed is able to detect and refactoring lazy classes with the same accuracy level as manual and the process speed is only 5.71 seconds. So this shows that the tool can work accurately and faster than the manual method. And this tool is expected to help developers to minimize the effort in terms of cost and time in refactoring. https://jtiik.ub.ac.id/index.php/jtiik/article/view/4646 |
spellingShingle | Umi Sa'adah Desy Intan Permatasari Fadilah Fahrul Hardiansyah Andhik Ampuh Yunanto Jauari Akhmad Nur Hasim Irma Wulandari Muhammad Reza Pahlevi Dufan Quraish Shihab Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics Jurnal Teknologi Informasi dan Ilmu Komputer |
title | Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics |
title_full | Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics |
title_fullStr | Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics |
title_full_unstemmed | Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics |
title_short | Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics |
title_sort | tool refactoring otomatis untuk menangani lazy class code smell dengan pendekatan software metrics |
url | https://jtiik.ub.ac.id/index.php/jtiik/article/view/4646 |
work_keys_str_mv | AT umisaadah toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics AT desyintanpermatasari toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics AT fadilahfahrulhardiansyah toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics AT andhikampuhyunanto toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics AT jauariakhmadnurhasim toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics AT irmawulandari toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics AT muhammadrezapahlevi toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics AT dufanquraishshihab toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics |