understandability_in_Java_decompilation
收藏IEEE2026-04-17 收录
下载链接:
https://ieee-dataport.org/documents/understandabilityinjavadecompilation
下载链接
链接失效反馈官方服务:
资源简介:
Decompilation, the process of translating machine-level code into human-readable source code, is critical in reverse engineering. While its main purpose is to facilitate code comprehension when the original source code is unavailable, the understandability of decompiled code is important. However, existing research has mainly focused on the correctness of decompilation, with limited attention given to the decompilation understandability. Key questions regarding the value placed on understandability by decompiler stakeholders and potential methodologies for assessing decompiled code remain unresolved.This paper presents the first empirical study on the understandability of Java decompiled code, including a user survey on the severity and prevalence of understandability issues in Java decompilation, along with a series of experiments comparing the understandability of source files from 14 Java projects and their corresponding decompiled outputs generated by three Java decompilers, with existing understandability metrics. An in-depth analysis of the survey findings reveals that: (1) Understandability of Java decompiled code is regarded as equally critical as its correctness, with understandability issues occurring more frequently. (2) A notable percentage of Java decompiled code exhibit significantly lower or higher understandability compared to source code. (3) Cognitive Complexity demonstrates relatively acceptable precision while low recall in recognizing the understandability divergence during decompilation. (4) Other existing metrics demonstrate even lower precision and recall in recognizing such understandability divergence.Inspired by the findings, we propose an enhanced metric specific to Java decompilation, extending Cognitive Complexity by incorporating six additional rules. These rules respectively address six code patterns identified in our prior study as frequently contributing to low understandability in decompiled code. Experimental results demonstrate the metric's high precision and recall in identifying such low understandability cases in Java decompilation.This data provides all the experimentals results provided in the paper and corresponding artifacts to reproduce these results.
提供机构:
Lu, Yifei



