Automatic Fixation of Decompilation Quirks Using Pre-trained Language Model

被引:0
作者
Kaichi, Ryunosuke [1 ]
Matsumoto, Shinsuke [1 ]
Kusumoto, Shinji [1 ]
机构
[1] Osaka Univ, Grad Sch Informat Sci & Technol, Osaka, Japan
来源
PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT, PROFES 2023, PT I | 2024年 / 14483卷
关键词
decompiler; fine-tuning; deep learning; quirk; grammatical error correction;
D O I
10.1007/978-3-031-49266-2_18
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Decompiler is a system for recovering the original code from bytecode. A critical challenge in decompilers is that the decompiled code contains differences from the original code. These differences not only reduce the readability of the source code but may also change the program's behavior. In this study, we propose a deep learning-based quirk fixation method that adopts grammatical error correction. One advantage of the proposed method is that it can be applied to any decompiler and programming language. Our experimental results show that the proposed method removes 55% of identifier quirks and 91% of structural quirks. In some cases, however, the proposed method injected a small amount of new quirks.
引用
收藏
页码:259 / 266
页数:8
相关论文
共 13 条
  • [1] A Probabilistic Discriminative Model for Android Malware Detection with Decompiled Source Code
    Cen, Lei
    Gates, Christoher S.
    Si, Luo
    Li, Ninghui
    [J]. IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2015, 12 (04) : 400 - 412
  • [2] Computer security analysis through decompilation and high-level debugging
    Cifuentes, C
    Waddington, T
    Van Emmerik, M
    [J]. EIGHTH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2001, : 375 - 380
  • [3] DECOMPILATION OF BINARY PROGRAMS
    CIFUENTES, C
    GOUGH, KJ
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1995, 25 (07) : 811 - 829
  • [4] Falleri J., 2014, P 29 ACMIEEE INT C A, P313, DOI DOI 10.1145/2642937.2642982
  • [5] The Strengths and Behavioral Quirks of Java']Java Bytecode Decompilers
    Harrand, Nicolas
    Soto-Valero, Cesar
    Monperrus, Martin
    Baudry, Benoit
    [J]. 2019 19TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2019, : 92 - 102
  • [6] Hofmeister J, 2017, 2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), P217, DOI 10.1109/SANER.2017.7884623
  • [7] Husain H, 2020, Arxiv, DOI arXiv:1909.09436
  • [8] Meaningful Variable Names for Decompiled Code: A Machine Translation Approach
    Jaffe, Alan
    Lacomis, Jeremy
    Schwartz, Edward J.
    Le Goues, Claire
    Vasilescu, Bogdan
    [J]. 2018 IEEE/ACM 26TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2018), 2018, : 20 - 30
  • [9] DIRE: A Neural Approach to Decompiled Identifier Naming
    Lacomis, Jeremy
    Yin, Pengcheng
    Schwartz, Edward J.
    Allamanis, Miltiadis
    Le Goues, Claire
    Neubig, Graham
    Vasilescu, Bogdan
    [J]. 34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, : 640 - 651
  • [10] Deep Learning Based Program Generation From Requirements Text: Are We There Yet?
    Liu, Hui
    Shen, Mingzhu
    Zhu, Jiaqi
    Niu, Nan
    Li, Ge
    Zhang, Lu
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (04) : 1268 - 1289