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 条
  • [31] Circuit design completion using graph neural networks
    Anwar Said
    Mudassir Shabbir
    Brian Broll
    Waseem Abbas
    Peter Völgyesi
    Xenofon Koutsoukos
    Neural Computing and Applications, 2023, 35 : 12145 - 12157
  • [32] Circuit design completion using graph neural networks
    Said, Anwar
    Shabbir, Mudassir
    Broll, Brian
    Abbas, Waseem
    Voelgyesi, Peter
    Koutsoukos, Xenofon
    NEURAL COMPUTING & APPLICATIONS, 2023, 35 (16): : 12145 - 12157
  • [33] The use of artificial neural networks in completion stimulation and design
    Shelley, B
    Stephenson, S
    COMPUTERS & GEOSCIENCES, 2000, 26 (08) : 941 - 951
  • [34] Multi-location Cryptographic Code Repair with Neural-Network-Based Methodologies
    Xiao, Ya
    PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 1640 - 1644
  • [35] Multi-location cryptographic code repair with neural-network-based methodologies
    Xiao, Ya
    ESEC/FSE 2021 - Proceedings of the 29th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2021, : 1640 - 1644
  • [36] Cracking the neural code for word recognition in convolutional neural networks
    Agrawal, Aakash
    Dehaene, Stanislas
    PLOS COMPUTATIONAL BIOLOGY, 2024, 20 (09)
  • [37] Optimized Code Generation for Deep Neural Networks
    Lake, Janaan
    Patabandi, Tharindu R.
    Hall, Mary
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2020, 2022, 13149 : 119 - 133
  • [38] Measuring code maintainability with deep neural networks
    Hu, Yamin
    Jiang, Hao
    Hu, Zongyao
    FRONTIERS OF COMPUTER SCIENCE, 2023, 17 (06)
  • [39] Source Code Classification Using Neural Networks
    Gilda, Shlok
    PROCEEDINGS OF 2017 14TH INTERNATIONAL JOINT CONFERENCE ON COMPUTER SCIENCE AND SOFTWARE ENGINEERING (JCSSE), 2017,
  • [40] Efficient visual code localization with neural networks
    Péter Bodnár
    Tamás Grósz
    László Tóth
    László G. Nyúl
    Pattern Analysis and Applications, 2018, 21 : 249 - 260