Penerapan Java Dynamic Compilation pada Metode Java Customized Class Loader untuk Memperbaharui Perangkat Lunak pada Saat Runtime dengan Lebih Efisien

Tory Ariyanto, Romi Satria Wahono, . Purwanto

Abstract


Proses pembaharuan perangkat lunak diperlukan untuk menjaga kehandalan sebuah perangkat lunak agar bisa berjalan dengan baik. Sebuah perangkat lunak yang memiliki tingkat operasional tinggi sehingga tidak diperbolehkan untuk melakukan restart, memerlukan sebuah metode dimana metode tersebut dapat melakukan proses pembaharuan dengan cepat tanpa melakukan restart. Untuk mengatasi hal tersebut, Java Customized Class Loader (JCCL) merupakan metode yang paling banyak digunakan oleh peneliti dalam bidang pembaharuan perangkat lunak tanpa melakukan restart (Dyanamic Software Update). Penerapan JCCL untuk melakukan pembaharuan perangkat lunak dengan tidak memperbolehkan restart memiliki kendala yaitu lambatnya proses pembaharuan. Dalam penelitian ini, penerapan Java Dynamic Compilation (JDC) diharapkan mampu meningkatkan efisiensi metode JCCL dalam  melakukan pembaharuan perangkat lunak tanpa melakukan restart. Untuk menerapkan JDC kedalam metode JCCL, penelitian ini memiliki dua kegiatan utama yaitu: (1) Menganalisa metode-metode untuk melakukan pembaharuan perangkat lunak dimana tidak memperbolehkan untuk restart,(2) Penerapan metode JDC untuk meningkatkan efisiensi JCCL dalam melakukan proses pembaharuan. Metode-metode mengenai pembaharuan perangkat lunak tanpa melakukan restart atau pada saat runtime dianalisa kelemahan dan kekurangan yang dimiliki berdasarkan penelitian sebelumnya, berdasarkan hasil analisa yang dilakukan maka didapat bahwa metode JCCL adalah metode yang paling banyak digunakan. Dan berdasarkan hasil analisa mengenai metode untuk mengoptimalkan proses kinerja Java didapat data bahwa metode JDC adalah metode yang tepat untuk digunakan dalam mengoptimalkan metode JCCL ketika melakukan proses pembaharuan, maka dalam penelitian ini diterapkan metode JDC dimana metode ini adalah metode yang digunakan untuk meningkatkan kinerja Java didalam Java Virtual Machine (JVM). Untuk menguji coba hasil ekperiment yang dilakukan dalam penelitian ini, digunakan aplikasi permainan snake game aplikasi permainan ini telah digunakan juga pada penelitian sebelumnya. Setelah melakukan dua kegiatan utama diatas, sebagai hasil dari penelitian ini adalah terciptanya metode untuk melakukan proses pembaharuan perangkat lunak pada saat runtime atau tanpa melakukan restart dengan waktu yang efisien. Berdasarkan hasil analisa, metode yang dihasilkan dalam penelitian ini (JCCL+JDC) memiliki waktu yang lebih efisien dari metode JCCL sebelum dioptimalkan dengan metode JDC,waktu yang dihasilkan dari metode yang diusulkan menyesuaikan kompleksitas alghoritma dari setiap method yang ditambahkan dalam proses pembaharuan. Hal tersebut yang menjadi kontribusi penelitian dalam penelitian ini.


Full Text:

PDF

References


Fong, Y. L. A. S. (2012). Heuristic optimisation algorithm for Java dynamic compilation. Engineering and Technology, (February), 307–312. doi:10.1049/iet-sen.2011.0144

Gregersen, A. R., & Koskimies, K. (2012). Javeleon : An Integrated Platform for Dynamic Software Updating and its Application in Self- * systems. Transactions on Software Engineering

Hayden, C. M., Smith, E. K., & Foster, J. S. (2012). Kitsune : Efficient , General-purpose Dynamic Software Updating for C. OOPSLA.

Kazi, I. H., Chen, H. H., Stanley, B., & Lilja, D. J. (2000). Techniques for obtaining high performance in Java programs. ACM Computing Surveys, 32(3), 213–240.

Kim, D. K., Tilevich, E., & J, C. (2010). Dynamic Software Updates for Parallel High Performance Applications. Dept. of Computer Science.

Orso, A., Rao, A., & Harrold, M. (2002). A Technique for Dynamic Updating of Java Software. 18th IEEE International Conference on Software Maintenance, pp649658.

Pukall, M., K, C., G, S., Grebhahn, A., Schr, R., & Saake, G. (2011). J AV A DAPTOR – Flexible Runtime Updates of Java Applications. Softw. Pract. Exper., 1–33. doi:10.1002/spe

Seifzadeh, H., Abolhassani, H., & Moshkenani, M. S. (2012). A survey of dynamic software updating. Wiley Online Lirary. doi:10.1002/smr

Würthinger, T., Wimmer, C., & Stadler, L. (2013). Unrestricted and safe dynamic code evolution for Java ✩. Science of Computer Programming, 78(5), 481–498. doi:10.1016/j.scico.2011.06.005

Zhang, S. (2007). Type-Safe Dynamic Update Transaction. 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), (60673116).






Journal of Software Engineering(JSE, ISSN 2356-3974)
Copyright © 2020IlmuKomputer.Com. All rights reserved.