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 条
  • [21] Design and investigation of a chaotic neural network architecture for cryptographic applications
    Bevi, A. Ruhan
    Tumu, Sriharini
    Prasad, N. Varsha
    COMPUTERS & ELECTRICAL ENGINEERING, 2018, 72 : 179 - 190
  • [22] Cracking the genetic code with neural networks
    Joiret, Marc
    Leclercq, Marine
    Lambrechts, Gaspard
    Rapino, Francesca
    Close, Pierre
    Louppe, Gilles
    Geris, Liesbet
    FRONTIERS IN ARTIFICIAL INTELLIGENCE, 2023, 6
  • [23] Cryptanalysis of a cryptographic scheme based on delayed chaotic neural networks
    Yang, Jiyun
    Liao, Xiaofeng
    Yu, Wenwu
    Wong, Kwok-wo
    Wei, Jun
    CHAOS SOLITONS & FRACTALS, 2009, 40 (02) : 821 - 825
  • [24] On the Cryptanalysis of Two Cryptographic Algorithms That Utilize Chaotic Neural Networks
    Qin, Ke
    Oommen, B. John
    MATHEMATICAL PROBLEMS IN ENGINEERING, 2015, 2015
  • [25] NEURAL NETWORKS AND THEIR APPLICATIONS
    BISHOP, CM
    REVIEW OF SCIENTIFIC INSTRUMENTS, 1994, 65 (06): : 1803 - 1832
  • [26] Automating Cryptographic Code Generation
    Yarom, Yuval
    PROCEEDINGS OF THE 2022 WORKSHOP ON ATTACKS AND SOLUTIONS IN HARDWARE SECURITY, ASHES 2022, 2022, : 3 - 3
  • [27] Verified Cryptographic Code for Everybody
    Boston, Brett
    Breese, Samuel
    Dodds, Joey
    Dodds, Mike
    Huffman, Brian
    Petcher, Adam
    Stefanescu, Andrei
    COMPUTER AIDED VERIFICATION (CAV 2021), PT I, 2021, 12759 : 645 - 668
  • [28] A Neural Network Based Intelligent Support Model for Program Code Completion
    Rahman, Md Mostafizer
    Watanobe, Yutaka
    Nakamura, Keita
    SCIENTIFIC PROGRAMMING, 2020, 2020
  • [29] Cryptographic security for mobile code
    Algesheimer, J
    Cachin, C
    Camenisch, J
    Karjoth, G
    2001 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS, 2001, : 2 - 11
  • [30] A graph sequence neural architecture for code completion with semantic structure features
    Yang, Kang
    Yu, Huiqun
    Fan, Guisheng
    Yang, Xingguang
    Huang, Zijie
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2022, 34 (01)