{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,13]],"date-time":"2026-01-13T23:34:51Z","timestamp":1768347291753,"version":"3.49.0"},"reference-count":57,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2022,4,18]],"date-time":"2022-04-18T00:00:00Z","timestamp":1650240000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,4,18]],"date-time":"2022-04-18T00:00:00Z","timestamp":1650240000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2022,7]]},"DOI":"10.1007\/s10664-022-10140-7","type":"journal-article","created":{"date-parts":[[2022,4,18]],"date-time":"2022-04-18T10:12:50Z","timestamp":1650276770000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":26,"title":["A unified multi-task learning model for AST-level and token-level code completion"],"prefix":"10.1007","volume":"27","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3905-8133","authenticated-orcid":false,"given":"Fang","family":"Liu","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ge","family":"Li","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bolin","family":"Wei","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xin","family":"Xia","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhiyi","family":"Fu","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhi","family":"Jin","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2022,4,18]]},"reference":[{"key":"10140_CR1","unstructured":"Abadi M, Barham P, Chen J, Chen Z, Davis A, Dean J, Devin M, Ghemawat S, Irving G, Isard M et al (2016) Tensorflow: A system for large-scale machine learning. In: 12th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 16), pp 265\u2013283"},{"key":"10140_CR2","unstructured":"Bahdanau D, Cho K, Bengio Y (2015) Neural machine translation by jointly learning to align and translate"},{"key":"10140_CR3","unstructured":"Bhoopchand A, Rockt\u00e4schel T, Barr ET, Riedel S (2016) Learning python code suggestion with a sparse pointer network. CoRR arXiv:1611.08307"},{"key":"10140_CR4","doi-asserted-by":"crossref","unstructured":"Bielik P, Raychev V, Vechev MT (2016) PHOG: probabilistic model for code. In: Proceedings of the 33nd International Conference on Machine Learning, ICML 2016, JMLR Workshop and Conference Proceedings, vol 48. JMLR.org, New York City, pp 2933\u20132942","DOI":"10.1145\/2983990.2984041"},{"key":"10140_CR5","doi-asserted-by":"crossref","unstructured":"Bruch M, Monperrus M, Mezini M (2009) Learning from examples to improve code completion systems. In: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, pp 213\u2013222","DOI":"10.1145\/1595696.1595728"},{"issue":"1","key":"10140_CR6","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1023\/A:1007379606734","volume":"28","author":"R Caruana","year":"1997","unstructured":"Caruana R (1997) Multitask learning. Mach Learn 28(1):41\u201375","journal-title":"Mach Learn"},{"key":"10140_CR7","doi-asserted-by":"crossref","unstructured":"Chelba C, Engle D, Jelinek F, Jimenez V, Khudanpur S, Mangu L, Printz H, Ristad E, Rosenfeld R, Stolcke A, Wu D (1997) Structure and performance of a dependency language model. In: Fifth European Conference on Speech Communication and Technology, EUROSPEECH 1997, Rhodes","DOI":"10.21236\/ADA640606"},{"key":"10140_CR8","doi-asserted-by":"crossref","unstructured":"Chelba C, Jelinek F (1998) Exploiting syntactic structure for language modeling. In: Proceedings of the 36th Annual Meeting of the Association for Computational Linguistics and 17th International Conference on Computational Linguistics-Volume 1. Association for Computational Linguistics, pp 225\u2013231","DOI":"10.3115\/980845.980882"},{"key":"10140_CR9","doi-asserted-by":"crossref","unstructured":"Cho K, van Merrienboer B, Bahdanau D, Bengio Y (2014) On the properties of neural machine translation: Encoder-decoder approaches, pp 103\u2013111","DOI":"10.3115\/v1\/W14-4012"},{"key":"10140_CR10","doi-asserted-by":"crossref","unstructured":"Costa C, Figueiredo J, Murta L, Sarma A (2016) Tipmerge: recommending experts for integrating changes across branches. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pp 523\u2013534","DOI":"10.1145\/2950290.2950339"},{"key":"10140_CR11","doi-asserted-by":"crossref","unstructured":"Dai Z, Yang Z, Yang Y, Carbonell JG, Le QV, Salakhutdinov R (2019) Transformer-xl: Attentive language models beyond a fixed-length context. In: Proceedings of the 57th Conference of the Association for Computational Linguistics, ACL 2019, Florence, Italy, July 28- August 2, 2019, Volume 1: Long Papers, pp 2978\u20132988","DOI":"10.18653\/v1\/P19-1285"},{"key":"10140_CR12","doi-asserted-by":"crossref","unstructured":"Deng L, Hinton GE, Kingsbury B (2013) New types of deep neural network learning for speech recognition and related applications: an overview. In: IEEE international conference on acoustics, speech and signal processing, ICASSP 2013, vancouver, bc, canada, may 26-31, 2013. IEEE, pp 8599\u20138603","DOI":"10.1109\/ICASSP.2013.6639344"},{"key":"10140_CR13","unstructured":"Devlin J, Chang M-W, Lee K, Toutanova K (2018) BERT: pre-training of deep bidirectional transformers for language understanding. CoRR arXiv:1810.04805"},{"key":"10140_CR14","doi-asserted-by":"crossref","unstructured":"Dong D, Wu H, He W, Yu D, Wang H (2015) Multi-task learning for multiple language translation. In: Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing of the Asian Federation of Natural Language Processing, ACL 2015, Volume 1: Long Papers. The Association for Computer Linguistics, Beijing, pp 1723\u20131732","DOI":"10.3115\/v1\/P15-1166"},{"key":"10140_CR15","doi-asserted-by":"crossref","unstructured":"Feng Z, Guo D, Tang D, Duan N, Feng X, Gong M, Shou L, Qin B, Liu T, Jiang D et al (2020) Codebert: A pre-trained model for programming and natural languages. arXiv:2002.08155","DOI":"10.18653\/v1\/2020.findings-emnlp.139"},{"issue":"2","key":"10140_CR16","first-page":"23","volume":"12","author":"P Gage","year":"1994","unstructured":"Gage P (1994) A new algorithm for data compression. C Users J 12(2):23\u201338","journal-title":"C Users J"},{"key":"10140_CR17","doi-asserted-by":"crossref","unstructured":"Guo H, Pasunuru R, Bansal M (2018) Soft layer-specific multi-task summarization with entailment and question generation. In: Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, ACL 2018, Volume 1: Long Papers. Association for Computational Linguistics, Melbourne, pp 687\u2013697","DOI":"10.18653\/v1\/P18-1064"},{"key":"10140_CR18","doi-asserted-by":"crossref","unstructured":"Han J, Deng S, Xia X, Wang D, Yin J (2019) Characterization and prediction of popular projects on github. In: 2019 IEEE 43rd annual computer software and applications conference (COMPSAC), vol 1. IEEE, pp 21\u201326","DOI":"10.1109\/COMPSAC.2019.00013"},{"key":"10140_CR19","doi-asserted-by":"crossref","unstructured":"Hellendoorn VJ, Bird C, Barr ET, Allamanis M (2018) Deep learning type inference. In: Proceedings of the 2018 26th acm joint meeting on european software engineering conference and symposium on the foundations of software engineering, pp 152\u2013162","DOI":"10.1145\/3236024.3236051"},{"key":"10140_CR20","doi-asserted-by":"crossref","unstructured":"Hellendoorn VJ, Devanbu PT (2017) Are deep neural networks the best choice for modeling source code?. In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, ESEC\/FSE 2017, Paderborn, Germany, September 4-8, 2017. ACM, pp 763\u2013773","DOI":"10.1145\/3106237.3106290"},{"key":"10140_CR21","doi-asserted-by":"crossref","unstructured":"Hellendoorn VJ, Proksch S, Gall HC, Bacchelli A (2019) When code completion fails: A case study on real-world completions. In: 2019 IEEE\/ACM 41st International Conference on Software Engineering (ICSE). IEEE, pp 960\u2013970","DOI":"10.1109\/ICSE.2019.00101"},{"key":"10140_CR22","doi-asserted-by":"crossref","unstructured":"Hindle A, Barr ET, Su Z, Gabel M, Devanbu PT (2012) On the naturalness of software. In: 34th International Conference on Software Engineering, ICSE 2012, June 2-9, 2012, Zurich, Switzerland. IEEE Computer Society, pp 837\u2013847","DOI":"10.1109\/ICSE.2012.6227135"},{"issue":"8","key":"10140_CR23","doi-asserted-by":"publisher","first-page":"1735","DOI":"10.1162\/neco.1997.9.8.1735","volume":"9","author":"S Hochreiter","year":"1997","unstructured":"Hochreiter S, Schmidhuber J (1997) Long short-term memory. Neural Comput 9(8):1735\u20131780","journal-title":"Neural Comput"},{"key":"10140_CR24","doi-asserted-by":"crossref","unstructured":"Hou D, Pletcher DM (2010) Towards a better code completion system by api grouping, filtering, and popularity-based ranking. In: Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering, pp 26\u201330","DOI":"10.1145\/1808920.1808926"},{"key":"10140_CR25","doi-asserted-by":"crossref","unstructured":"Hu X, Li G, Xia X, Lo D, Lu S, Jin Z (2018) Summarizing source code with transferred API knowledge. In: Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI 2018. ijcai.org, Stockholm, pp 2269\u20132275","DOI":"10.24963\/ijcai.2018\/314"},{"key":"10140_CR26","doi-asserted-by":"crossref","unstructured":"Isonuma M, Fujino T, Mori J, Matsuo Y, Sakata I (2017) Extractive summarization using multi-task learning with document classification. In: Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, EMNLP 2017. Association for Computational Linguistics, Copenhagen, pp 2101\u20132110","DOI":"10.18653\/v1\/D17-1223"},{"key":"10140_CR27","doi-asserted-by":"crossref","unstructured":"Karampatsis R-M, Babii H, Robbes R, Sutton C, Janes A (2020) Big code!= big vocabulary: Open-vocabulary models for source code. ICSE","DOI":"10.1145\/3377811.3380342"},{"key":"10140_CR28","doi-asserted-by":"crossref","unstructured":"Khandelwal U, He H, Qi P, Jurafsky D (2018) Sharp nearby, fuzzy far away: How neural language models use context, pp 284\u2013294","DOI":"10.18653\/v1\/P18-1027"},{"key":"10140_CR29","unstructured":"Kingma DP, Ba J (2015) Adam: A method for stochastic optimization. In: Bengio Y, LeCun Y (eds) 3rd International Conference on Learning Representations, ICLR 2015, Conference Track Proceedings, San Diego"},{"key":"10140_CR30","doi-asserted-by":"publisher","unstructured":"Li J, Wang Y, Lyu MR, King I (2018) Code completion with neural attention and pointer networks. In: Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI 2018. ijcai.org, Stockholm, pp 4159\u20134165, DOI https:\/\/doi.org\/10.24963\/ijcai.2018\/578, (to appear in print)","DOI":"10.24963\/ijcai.2018\/578"},{"key":"10140_CR31","doi-asserted-by":"crossref","unstructured":"Lin Y, Yang S, Stoyanov V, Ji H (2018) A multi-lingual multi-task architecture for low-resource sequence labeling. In: Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, ACL 2018, Volume 1: Long Papers. Association for Computational Linguistics, Melbourne, pp 799\u2013809","DOI":"10.18653\/v1\/P18-1074"},{"key":"10140_CR32","unstructured":"Liu C, Wang X, Shin R, Gonzalez JE, Song D (2016) Neural code completion"},{"key":"10140_CR33","doi-asserted-by":"crossref","unstructured":"Liu F, Li G, Wei B, Xia X, Fu Z, Jin Z (2020) A self-attentional neural architecture for code completion with multi-task learning. In: Proceedings of the 28th International Conference on Program Comprehension, pp 37\u201347","DOI":"10.1145\/3387904.3389261"},{"key":"10140_CR34","doi-asserted-by":"crossref","unstructured":"Liu F, Li G, Zhao Y, Jin Z (2020) Multi-task learning based pre-trained language model for code completion. In: Proceedings of the 35th IEEE\/ACM International Conference on Automated Software Engineering, pp 473\u2013485","DOI":"10.1145\/3324884.3416591"},{"key":"10140_CR35","doi-asserted-by":"crossref","unstructured":"Liu X, Gao J, He X, Deng L, Duh K, Wang Y-Y (2015) Representation learning using multi-task deep neural networks for semantic classification and information retrieval. In: NAACL HLT 2015, the 2015 conference of the north american chapter of the association for computational linguistics: Human language technologies. The Association for Computational Linguistics, Denver, pp 912\u2013921","DOI":"10.3115\/v1\/N15-1092"},{"key":"10140_CR36","unstructured":"Long M, Wang J (2015) Learning multiple tasks with deep relationship networks. CoRR arXiv:1506.02117"},{"key":"10140_CR37","doi-asserted-by":"crossref","unstructured":"Lu Y, Kumar A, Zhai S, Cheng Y, Javidi T, Feris RS (2017) Fully-adaptive feature sharing in multi-task networks with applications in person attribute classification. In: 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017. IEEE Computer Society, Honolulu, pp 1131\u20131140","DOI":"10.1109\/CVPR.2017.126"},{"key":"10140_CR38","unstructured":"Luong M-T, Le QV, Sutskever I, Vinyals O, Kaiser L (2016) Multi-task sequence to sequence learning"},{"issue":"2","key":"10140_CR39","doi-asserted-by":"publisher","first-page":"545","DOI":"10.11144\/Javeriana.upsy10-2.cdcp","volume":"10","author":"G Macbeth","year":"2011","unstructured":"Macbeth G, Razumiejczyk E, Ledesma RD (2011) Cliff\u2019s delta calculator: A non-parametric effect size program for two groups of observations. Univ Psychol 10(2):545\u2013555","journal-title":"Univ Psychol"},{"key":"10140_CR40","unstructured":"Maddison C, Tarlow D (2014) Structured generative models of natural source code. In: International Conference on Machine Learning, pp 649\u2013657"},{"key":"10140_CR41","doi-asserted-by":"crossref","unstructured":"Malik RS, Patra J, Pradel M (2019) Nl2type: inferring javascript function types from natural language information. In: 2019 IEEE\/ACM 41st International Conference on Software Engineering (ICSE). IEEE, pp 304\u2013315","DOI":"10.1109\/ICSE.2019.00045"},{"key":"10140_CR42","doi-asserted-by":"crossref","unstructured":"Nguyen AT, Nguyen TN (2015) Graph-based statistical language model for code. In: 2015 IEEE\/ACM 37th IEEE International Conference on Software Engineering, vol 1. IEEE, pp 858\u2013868","DOI":"10.1109\/ICSE.2015.336"},{"key":"10140_CR43","doi-asserted-by":"crossref","unstructured":"Nguyen TT, Nguyen AT, Nguyen HA, Nguyen TN (2013) A statistical semantic language model for source code. In: Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC\/FSE\u201913. ACM, Saint Petersburg, pp 532\u2013542","DOI":"10.1145\/2491411.2491458"},{"key":"10140_CR44","doi-asserted-by":"crossref","unstructured":"Peng N, Dredze M (2017) Multi-task domain adaptation for sequence tagging. In: Proceedings of the 2nd Workshop on Representation Learning for NLP, Rep4NLP@ACL 20107. Association for Computational Linguistics, Vancouver, pp 91\u2013100","DOI":"10.18653\/v1\/W17-2612"},{"key":"10140_CR45","doi-asserted-by":"crossref","unstructured":"Raychev V, Bielik P, Vechev MT (2016) Probabilistic model for code with decision trees. In: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2016, part of SPLASH 2016. ACM, Amsterdam, pp 731\u2013747","DOI":"10.1145\/2983990.2984041"},{"key":"10140_CR46","doi-asserted-by":"crossref","unstructured":"Robbes R, Lanza M (2008) How program history can improve code completion. In: 2008 23rd IEEE\/ACM International Conference on Automated Software Engineering. IEEE, pp 317\u2013326","DOI":"10.1109\/ASE.2008.42"},{"key":"10140_CR47","unstructured":"Ruder S (2017) An overview of multi-task learning in deep neural networks. CoRR arXiv:1706.05098"},{"issue":"11","key":"10140_CR48","doi-asserted-by":"publisher","first-page":"2673","DOI":"10.1109\/78.650093","volume":"45","author":"M Schuster","year":"1997","unstructured":"Schuster M, Paliwal KK (1997) Bidirectional recurrent neural networks. IEEE Trans Signal Process 45(11):2673\u20132681","journal-title":"IEEE Trans Signal Process"},{"key":"10140_CR49","doi-asserted-by":"crossref","unstructured":"Svyatkovskiy A, Zhao Y, Fu S, Sundaresan N (2019) Pythia: Ai-assisted code completion system. In: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp 2727\u20132735","DOI":"10.1145\/3292500.3330699"},{"key":"10140_CR50","doi-asserted-by":"crossref","unstructured":"Svyatkovskoy A, Lee S, Hadjitofi A, Riechert M, Franco J, Allamanis M (2020) Fast and memory-efficient neural code completion. arXiv:2004.13651","DOI":"10.1109\/MSR52588.2021.00045"},{"key":"10140_CR51","doi-asserted-by":"crossref","unstructured":"Tu Z, Su Z, Devanbu PT (2014) On the localness of software. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (FSE-22). ACM, Hong Kong, pp 269\u2013280","DOI":"10.1145\/2635868.2635875"},{"key":"10140_CR52","unstructured":"Vaswani A, Shazeer N, Parmar N, Uszkoreit J, Jones L, Gomez AN, Kaiser L, Polosukhin I (2017) Attention is all you need. In: Advances in neural information processing systems, pp 5998\u20136008"},{"key":"10140_CR53","unstructured":"Wei B, Li G, Xia X, Fu Z, Jin Z (2019) Code generation as a dual task of code summarization. In: Advances in Neural Information Processing Systems, pp 6563\u20136573"},{"key":"10140_CR54","doi-asserted-by":"crossref","unstructured":"White M, Vendome C, V\u00e1squez ML, Poshyvanyk D (2015) Toward deep learning software repositories. In: 12th IEEE\/ACM Working Conference on Mining Software Repositories, MSR 2015. IEEE Computer Society, Florence, pp 334\u2013345","DOI":"10.1109\/MSR.2015.38"},{"issue":"6","key":"10140_CR55","doi-asserted-by":"publisher","first-page":"80","DOI":"10.2307\/3001968","volume":"1","author":"F Wilcoxon","year":"1945","unstructured":"Wilcoxon F (1945) Individual comparisons by ranking methods. Biometr Bullet 1(6):80\u201383","journal-title":"Biometr Bullet"},{"key":"10140_CR56","doi-asserted-by":"crossref","unstructured":"Yao Z, Peddamail JR, Sun H (2019) Coacor: code annotation for code retrieval with reinforcement learning. In: The World Wide Web Conference, pp 2203\u20132214","DOI":"10.1145\/3308558.3313632"},{"key":"10140_CR57","doi-asserted-by":"crossref","unstructured":"Zaremoodi P, Buntine WL, Haffari G (2018) Adaptive knowledge sharing in multi-task learning: Improving low-resource neural machine translation. In: Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, ACL 2018, Volume 2: Short Papers. Association for Computational Linguistics, Melbourne, pp 656\u2013661","DOI":"10.18653\/v1\/P18-2104"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-022-10140-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-022-10140-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-022-10140-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,6,9]],"date-time":"2022-06-09T21:01:01Z","timestamp":1654808461000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-022-10140-7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,4,18]]},"references-count":57,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2022,7]]}},"alternative-id":["10140"],"URL":"https:\/\/doi.org\/10.1007\/s10664-022-10140-7","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,4,18]]},"assertion":[{"value":"22 February 2022","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"18 April 2022","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}],"article-number":"91"}}