Possible Improvements In Java Decompiler Through Redesigning

碩士 === 國立臺灣大學 === 資訊工程學研究所 === 105 === The ultimate goal of our research is to manage to decompile .class files into Java source code files. However, the current state-of-the-art decompilation technology cannot fully accomplish this goal for several reasons. At the time of publication of this articl...

Full description

Bibliographic Details
Main Authors: Kai-Fu Chang, 張凱富
Other Authors: 李允中
Format: Others
Language:en_US
Published: 2017
Online Access:http://ndltd.ncl.edu.tw/handle/287c9j
id ndltd-TW-105NTU05392126
record_format oai_dc
spelling ndltd-TW-105NTU053921262019-05-15T23:39:46Z http://ndltd.ncl.edu.tw/handle/287c9j Possible Improvements In Java Decompiler Through Redesigning 透過對Java反編譯器的重新設計來做可能的改善 Kai-Fu Chang 張凱富 碩士 國立臺灣大學 資訊工程學研究所 105 The ultimate goal of our research is to manage to decompile .class files into Java source code files. However, the current state-of-the-art decompilation technology cannot fully accomplish this goal for several reasons. At the time of publication of this article, most of the current available decompilers either produced exceptions during decompilation or failed to decompile Jave bytecodes to logically equivalent Java source code. The others just resulted in dumping assembly-like code to terminate decompilation. Hence, in order to reach the ultimate goal, we conducted the reverse-engineering on the ”Procyon” decompilation frameworks which we considered the best decompilation tool by far. In our research, we have analyzed the designs of Procyon frameworks by identifying the underlying design patterns, reconstructed the requirements by the designs, and finally proposed our redesign as the results of our research that we think is an improvement. Our redesign mainly improves time efficiency and reduces memory footprints. In the future, we will implement our design to complete Procyon frameworks and hope that we will fix most existing bugs to achieve a breakthrough of successfully building a decompiler that delivers. 李允中 2017 學位論文 ; thesis 36 en_US
collection NDLTD
language en_US
format Others
sources NDLTD
description 碩士 === 國立臺灣大學 === 資訊工程學研究所 === 105 === The ultimate goal of our research is to manage to decompile .class files into Java source code files. However, the current state-of-the-art decompilation technology cannot fully accomplish this goal for several reasons. At the time of publication of this article, most of the current available decompilers either produced exceptions during decompilation or failed to decompile Jave bytecodes to logically equivalent Java source code. The others just resulted in dumping assembly-like code to terminate decompilation. Hence, in order to reach the ultimate goal, we conducted the reverse-engineering on the ”Procyon” decompilation frameworks which we considered the best decompilation tool by far. In our research, we have analyzed the designs of Procyon frameworks by identifying the underlying design patterns, reconstructed the requirements by the designs, and finally proposed our redesign as the results of our research that we think is an improvement. Our redesign mainly improves time efficiency and reduces memory footprints. In the future, we will implement our design to complete Procyon frameworks and hope that we will fix most existing bugs to achieve a breakthrough of successfully building a decompiler that delivers.
author2 李允中
author_facet 李允中
Kai-Fu Chang
張凱富
author Kai-Fu Chang
張凱富
spellingShingle Kai-Fu Chang
張凱富
Possible Improvements In Java Decompiler Through Redesigning
author_sort Kai-Fu Chang
title Possible Improvements In Java Decompiler Through Redesigning
title_short Possible Improvements In Java Decompiler Through Redesigning
title_full Possible Improvements In Java Decompiler Through Redesigning
title_fullStr Possible Improvements In Java Decompiler Through Redesigning
title_full_unstemmed Possible Improvements In Java Decompiler Through Redesigning
title_sort possible improvements in java decompiler through redesigning
publishDate 2017
url http://ndltd.ncl.edu.tw/handle/287c9j
work_keys_str_mv AT kaifuchang possibleimprovementsinjavadecompilerthroughredesigning
AT zhāngkǎifù possibleimprovementsinjavadecompilerthroughredesigning
AT kaifuchang tòuguòduìjavafǎnbiānyìqìdezhòngxīnshèjìláizuòkěnéngdegǎishàn
AT zhāngkǎifù tòuguòduìjavafǎnbiānyìqìdezhòngxīnshèjìláizuòkěnéngdegǎishàn
_version_ 1719152288751157248