Code recommendation for Android development: how does it work and what can be improved?

被引:5
作者
Wu, Junwei [1 ,2 ]
Shen, Liwei [1 ,2 ]
Guo, Wunan [1 ,2 ]
Zhao, Wenyun [1 ,2 ]
机构
[1] Fudan Univ, Sch Comp Sci, Shanghai 200433, Peoples R China
[2] Fudan Univ, Shanghai Key Lab Data Sci, Shanghai 200433, Peoples R China
基金
中国国家自然科学基金;
关键词
Android; code recommendation; code search; code suggestion; code completion; code generation; CONTEXT;
D O I
10.1007/s11432-017-9058-0
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Android applications are developed based on framework and are always pattern-based. For Android developers, they can be facilitated by code recommendation to ensure high development efficiency and quality. Existing research work has proposed several methods and tools to support recommendation in diverse ways. However, how code recommendation work in Android development and what can be further improved to better support Android development has not been clarified. To understand the reality, we conduct a qualitative review on current code recommendation techniques and tools reported in prime literature. The collected work is first grouped into three categories based on a multidimensional framework. Then the review is performed to draw a comprehensive image of the adoption of recommendation in Android development when meeting specific development requirements. Based on the review, we give out possible improvements of code recommendation from two aspects. First, a set of improvement suggestions are presented to enhance the ability of the state-of-the-art code recommendation techniques. Second, a customizable tool framework is proposed to facilitate the design of code recommendation tools and the tool framework is able to integrate the recommendation features more easily.
引用
收藏
页数:14
相关论文
共 28 条
  • [1] Almeida Mario, 2016, Passive and Active Measurement. 17th International Conference, PAM 2016. Proceedings, P373, DOI 10.1007/978-3-319-30505-9_28
  • [2] Amann S., 2014, P 1 INT WORKSH CROWD, P5, DOI 10.1145/2593728.2593730
  • [3] Nguyen AT, 2012, PROC INT CONF SOFTW, P69, DOI 10.1109/ICSE.2012.6227205
  • [4] Asaduzzaman M, 2015, PROC IEEE INT CONF S, P271, DOI 10.1109/ICSM.2015.7332473
  • [5] CSCC: Simple, Efficient, Context Sensitive Code Completion
    Asaduzzaman, Muhammad
    Roy, Chanchal K.
    Schneider, Kevin A.
    Hou, Daqing
    [J]. 2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 71 - 80
  • [6] Bernal-Cardenas C., 2013, ESEC/ FSE 477-487, P477, DOI [DOI 10.1145/2491411.2491428, 10.1145/2491411.2491428]
  • [7] Learning from Examples to Improve Code Completion Systems
    Bruch, Marcel
    Monperrus, Martin
    Mezini, Mira
    [J]. 7TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2009, : 213 - 222
  • [8] Deokyoon Ko, 2014, 2014 21st Asia-Pacific Software Engineering Conference (APSEC), P27, DOI 10.1109/APSEC.2014.87
  • [9] Deep API Learning
    Gu, Xiaodong
    Zhang, Hongyu
    Zhang, Dongmei
    Kim, Sunghun
    [J]. FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 631 - 642
  • [10] Identifier-Based Context-Dependent API Method Recommendation
    Heinemann, Lars
    Bauer, Veronika
    Herrmannsdoerfer, Markus
    Hummel, Benjamin
    [J]. 2012 16TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR), 2012, : 31 - 40