Specializing Neural Networks for Cryptographic Code Completion Applications

被引:2
|
作者
Xiao, Ya [1 ]
Song, Wenjia [1 ]
Qi, Jingyuan [1 ]
Viswanath, Bimal [1 ]
McDaniel, Patrick [2 ]
Yao, Danfeng [1 ]
机构
[1] Virginia Tech, Dept Comp Sci, Blacksburg, VA 24060 USA
[2] Univ Wisconsin Madison, Sch Comp Data & Informat Sci, Madison, WI 53715 USA
基金
美国国家科学基金会;
关键词
Codes; Neural networks; Cryptography; Task analysis; Operating systems; Context modeling; Mathematical models; API completion; neural networks; program dependencies;
D O I
10.1109/TSE.2023.3265362
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Similarities between natural languages and programming languages have prompted researchers to apply neural network models to software problems, such as code generation and repair. However, program-specific characteristics pose unique prediction challenges that require the design of new and specialized neural network solutions. In this work, we identify new prediction challenges in application programming interface (API) completion tasks and find that existing solutions are unable to capture complex program dependencies in program semantics and structures. We design a new neural network model Multi-HyLSTM to overcome the newly identified challenges and comprehend complex dependencies between API calls. Our neural network is empowered with a specialized dataflow analysis to extract multiple global API dependence paths for neural network predictions. We evaluate Multi-HyLSTM on 64,478 Android Apps and predict 774,460 Java cryptographic API calls that are usually challenging for developers to use correctly. Our Multi-HyLSTM achieves an excellent top-1 API completion accuracy at 98.99%. Moreover, we show the effectiveness of our design choices through an ablation study and have released our dataset.
引用
收藏
页码:3524 / 3535
页数:12
相关论文
共 50 条
  • [41] Classifying Code Commits with Convolutional Neural Networks
    Meng, Na
    Jiang, Zijian
    Zhong, Hao
    2021 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN), 2021,
  • [42] Efficient visual code localization with neural networks
    Bodnar, Peter
    Grosz, Tamas
    Toth, Laszlo
    Nyul, Laszlo G.
    PATTERN ANALYSIS AND APPLICATIONS, 2018, 21 (01) : 249 - 260
  • [43] Measuring code maintainability with deep neural networks
    Yamin HU
    Hao JIANG
    Zongyao HU
    Frontiers of Computer Science, 2023, 17 (06) : 64 - 78
  • [44] Active Code Completion
    Omar, Cyrus
    Yoon, YoungSeok
    LaToza, Thomas D.
    Myers, Brad A.
    2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2012, : 859 - 869
  • [45] Active Code Completion
    Omar, Cyrus
    Yoon, YoungSeok
    LaToza, Thomas D.
    Myers, Brad A.
    2011 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2011), 2011, : 261 - 262
  • [46] NEURAL NETWORKS AND APPLICATIONS TUTORIAL
    GUYON, I
    PHYSICS REPORTS-REVIEW SECTION OF PHYSICS LETTERS, 1991, 207 (3-5): : 215 - 259
  • [47] DEFENSE APPLICATIONS OF NEURAL NETWORKS
    LUPO, JC
    IEEE COMMUNICATIONS MAGAZINE, 1989, 27 (11) : 82 - 88
  • [48] Applications of neural networks in optics
    Jutamulia, S
    Yu, FTS
    Asakura, T
    OPTICAL ENGINEERING, 1996, 35 (08) : 2119 - 2121
  • [49] Everyday applications of neural networks
    Dillon, T
    Arabshahi, P
    Marks, RJ
    IEEE TRANSACTIONS ON NEURAL NETWORKS, 1997, 8 (04): : 825 - 826
  • [50] engineering applications of neural networks
    Iliadis, Lazaros
    Jane, Chrisina
    NEURAL COMPUTING & APPLICATIONS, 2017, 28 (06): : 1189 - 1191