Intelligent Code Completion with Bayesian Networks

被引:47
|
作者
Proksch, Sebastian [1 ]
Lerch, Johannes [1 ]
Mezini, Mira [1 ]
机构
[1] Tech Univ Darmstadt, D-64289 Darmstadt, Germany
关键词
Algorithms; Experimentation; Measurement; Performance; Content assist; code completion; integrated development environments; machine learning; evaluation; code recommender; productivity; RECOMMENDATION;
D O I
10.1145/2744200
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Code completion is an integral part of modern Integrated Development Environments (IDEs). Developers often use it to explore Application Programming Interfaces (APIs). It is also useful to reduce the required amount of typing and to help avoid typos. Traditional code completion systems propose all type-correct methods to the developer. Such a list is often very long with many irrelevant items. More intelligent code completion systems have been proposed in prior work to reduce the list of proposed methods to relevant items. This work extends one of these existing approaches, the Best Matching Neighbor (BMN) algorithm. We introduce Bayesian networks as an alternative underlying model, use additional context information for more precise recommendations, and apply clustering techniques to improve model sizes. We compare our new approach, Pattern-based Bayesian Networks (PBN), to the existing BMN algorithm. We extend previously used evaluation methodologies and, in addition to prediction quality, we also evaluate model size and inference speed. Our results show that the additional context information we collect improves prediction quality, especially for queries that do not contain method calls. We also show that PBN can obtain comparable prediction quality to BMN, while model size and inference speed scale better with large input sizes.
引用
收藏
页数:31
相关论文
共 50 条
  • [41] Smart Building's Elevator with Intelligent Control Algorithm based on Bayesian Networks
    Bapin, Yerzhigit
    Zarikas, Vasilios
    INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2019, 10 (02) : 16 - 24
  • [42] Using Bayesian Networks for Convergence Analysis of Intelligent Dynamic Spectrum Access Algorithms
    Morozs, Nils
    Clarke, Tim
    Grace, David
    2015 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATION WORKSHOP (ICCW), 2015, : 1474 - 1478
  • [43] An intelligent conversational agent as the web virtual representative using semantic Bayesian networks
    Kim, Kyoung-Min
    Hong, Jin-Hyuk
    Cho, Sung-Bae
    PRICAI 2006: TRENDS IN ARTIFICIAL INTELLIGENCE, PROCEEDINGS, 2006, 4099 : 807 - 812
  • [44] A Method for Building the Quantitative and Qualitative Part of Bayesian Networks for Intelligent Tutoring Systems
    Ramirez-Noriega, Alan
    Juarez-Ramirez, Reyes
    Carlos Leyva-Lopez, Juan
    Jimenez, Samantha
    Francisco Figueroa-Perez, J.
    COMPUTER JOURNAL, 2022, 65 (12): : 3035 - 3048
  • [45] Improving code completion with program history
    Romain Robbes
    Michele Lanza
    Automated Software Engineering, 2010, 17 : 181 - 212
  • [46] Intelligent Automatic Generation Control: Multi-agent Bayesian Networks Approach
    Bevrani, H.
    Daneshfar, F.
    Daneshmand, P. R.
    2010 IEEE INTERNATIONAL SYMPOSIUM ON INTELLIGENT CONTROL, 2010, : 773 - 778
  • [47] Modeling of an intelligent system for Education 4.0 using Bayesian networks and active methodologies
    Guilhen, Bruno Anselmo
    Kofuji, Sergio Takeo
    PROCEEDINGS OF 2020 IEEE INTERNATIONAL CONFERENCE ON TEACHING, ASSESSMENT, AND LEARNING FOR ENGINEERING (IEEE TALE 2020), 2020, : 229 - 234
  • [48] Code Completion with Statistical Language Models
    Raychev, Veselin
    Vechev, Martin
    Yahav, Eran
    ACM SIGPLAN NOTICES, 2014, 49 (06) : 419 - 428
  • [49] Code Completion From Abbreviated Input
    Han, Sangmok
    Wallace, David R.
    Miller, Robert C.
    2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 332 - 343
  • [50] Framing Program Repair as Code Completion
    Ribeiro, Francisco
    Abreu, Rui
    Saraiva, Joao
    INTERNATIONAL WORKSHOP ON AUTOMATED PROGRAM REPAIR (APR 2022), 2022, : 38 - 45