Abdulaziz Alhefdhi, K. Dam, Hideaki Hata, A. Ghose
{"title":"使用深度学习从源代码生成伪代码","authors":"Abdulaziz Alhefdhi, K. Dam, Hideaki Hata, A. Ghose","doi":"10.1109/ASWEC.2018.00011","DOIUrl":null,"url":null,"abstract":"Pseudo-code written in natural language and mathematical expressions is a useful description of source code. Pseudocode aids programmers in understanding the code written in a programming language they are not familiar with. However, writing pseudo-code for each code statement is labour intensive. In this paper, we propose a novel approach to automatically generate pseudo-code from source code using Neural Machine Translation. Our model is built upon the deep learning encoderdecoder using the attention-based Long Short-Term Memory architecture to capture the long-term dependencies in both source code and pseudo-code. An empirical evaluation on a real Python dataset demonstrates the applicability of our approach in practice.","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":"{\"title\":\"Generating Pseudo-Code from Source Code Using Deep Learning\",\"authors\":\"Abdulaziz Alhefdhi, K. Dam, Hideaki Hata, A. Ghose\",\"doi\":\"10.1109/ASWEC.2018.00011\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Pseudo-code written in natural language and mathematical expressions is a useful description of source code. Pseudocode aids programmers in understanding the code written in a programming language they are not familiar with. However, writing pseudo-code for each code statement is labour intensive. In this paper, we propose a novel approach to automatically generate pseudo-code from source code using Neural Machine Translation. Our model is built upon the deep learning encoderdecoder using the attention-based Long Short-Term Memory architecture to capture the long-term dependencies in both source code and pseudo-code. An empirical evaluation on a real Python dataset demonstrates the applicability of our approach in practice.\",\"PeriodicalId\":331846,\"journal\":{\"name\":\"2018 25th Australasian Software Engineering Conference (ASWEC)\",\"volume\":\"31 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"14\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 25th Australasian Software Engineering Conference (ASWEC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ASWEC.2018.00011\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 25th Australasian Software Engineering Conference (ASWEC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ASWEC.2018.00011","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Generating Pseudo-Code from Source Code Using Deep Learning
Pseudo-code written in natural language and mathematical expressions is a useful description of source code. Pseudocode aids programmers in understanding the code written in a programming language they are not familiar with. However, writing pseudo-code for each code statement is labour intensive. In this paper, we propose a novel approach to automatically generate pseudo-code from source code using Neural Machine Translation. Our model is built upon the deep learning encoderdecoder using the attention-based Long Short-Term Memory architecture to capture the long-term dependencies in both source code and pseudo-code. An empirical evaluation on a real Python dataset demonstrates the applicability of our approach in practice.