Decompilation is a process of converting a low-level machine code snippet back into a high-level programming language such as C. It serves as a basis to aid reverse engineers in comprehending the contextual semantics of the code. In this respect, commercial decompilers like Hex-Rays have made significant strides in improving the readability of decompiled code over time. While previous work has proposed the metrics for assessing the readability of source code, including identifiers, variable names, function names, and comments, those metrics are unsuitable for measuring the readability of decompiled code primarily due to i) the lack of rich semantic information in the source and ii) the presence of erroneous syntax or inappropriate expressions. In response, to the best of our knowledge, this work first introduces R2I, the Relative Readability Index, a specialized metric tailored to evaluate decompiled code in a relative context quantitatively. In essence, R2I can be computed by i) taking code snippets across different decompilers as input and ii) extracting pre-defined features from an abstract syntax tree. For the robustness of R2I, we thoroughly investigate the enhancement efforts made by existing decompilers and academic research to promote code readability, identifying 31 features to yield a reliable index collectively. Besides, we conducted a user survey to capture subjective factors such as one’s coding styles and preferences. Our empirical experiments demonstrate that R2I is a versatile metric capable of representing the relative quality of decompiled code (e.g., obfuscation, decompiler updates) and being well aligned with human perception in our survey.
Fri 19 JulDisplayed time zone: Brasilia, Distrito Federal, Brazil change
14:00 - 15:30 | Software Maintenance and Comprehension 4Research Papers / Demonstrations / Ideas, Visions and Reflections / Industry Papers at Pitomba Chair(s): Timo Kehrer University of Bern | ||
14:00 18mTalk | EyeTrans: Merging Human and Machine Attention for Neural Code Summarization Research Papers Yifan Zhang Vanderbilt University, Jiliang Li Vanderbilt University, Zachary Karas Vanderbilt University, Aakash Bansal University of Notre Dame, Toby Jia-Jun Li University of Notre Dame, Collin McMillan University of Notre Dame, Kevin Leach Vanderbilt University, Yu Huang Vanderbilt University | ||
14:18 18mTalk | Predicting Code Comprehension: A Novel Approach to Align Human Gaze with Code Using Deep Neural Networks Research Papers Tarek Alakmeh University of Zurich, David Reich University of Potsdam, Lena Jäger University of Zurich, Thomas Fritz University of Zurich DOI Pre-print | ||
14:36 18mTalk | R2I: A Relative Readability Metric for Decompiled Code Research Papers Haeun Eom Sungkyunkwan University, Dohee Kim Sungkyunkwan University, Sori Lim Sungkyunkwan University, Hyungjoon Koo Sungkyunkwan University, Sungjae Hwang Sungkyunkwan University | ||
14:54 9mTalk | CognitIDE: An IDE Plugin for Mapping Physiological Measurements to Source Code Demonstrations Fabian Stolp Hasso Plattner Institute, University of Potsdam, Malte Stellmacher Hasso Plattner Institute, University of Potsdam, Bert Arnrich Hasso Plattner Institute, University of Potsdam Link to publication DOI Media Attached | ||
15:03 9mTalk | The lion, the ecologist and the plankton: a classification of species in multi-bot ecosystems Ideas, Visions and Reflections Dimitrios Platis Neat, Linda Erlenhov Chalmers | University of Gothenburg, Francisco Gomes de Oliveira Neto Chalmers | University of Gothenburg Link to publication | ||
15:12 18mTalk | S.C.A.L.E: a CO2-aware Scheduler for OpenShift at ING Industry Papers |