Skip to main content

2017 | OriginalPaper | Buchkapitel

On Source Code Completion Assistants and the Need of a Context-Aware Approach

verfasst von : Fabio Villamarin Arrebola, Plinio Thomaz Aquino Junior

Erschienen in: Human Interface and the Management of Information: Supporting Learning, Decision-Making and Collaboration

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Source code completion assistance is a popular feature in modern IDEs. However, despite their popularity, there is little research about their key characteristics and limitations. There is also little research about the way software developers interact with code completion assistants, especially when considering the different techniques assistants use to populate the list of possible completions. This paper presents a study about the features of currently available code assistants and an experiment targeting professional Java developers familiar with the Eclipse platform that aims to collect and interpret usage data of two popular code completion assistants during the execution of three programming tasks. Results indicate that half the interactions with code assistants are either dismissed, interrupted or the completion proposals displayed have no direct contribution to the completion of the programming task. In that sense, we argue that code assistants still have a long road to pursue, since they seem to diminish the importance of the ultimate goals of the task at hand and also lack the ability of identifying and exploring the concepts of context-aware computing theory. The results of this paper can drive future HCI research to the design of adaptive code completion assistants that are able to respond to end user behaviors and preferences.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
Free-form queries can be defined as relaxed form of natural language input represented by a sentence of no more than ten words.
 
2
Supporting material can be found at https://​github.​com/​fvarrebola/​fei.
 
Literatur
1.
Zurück zum Zitat Trendowicz, A., Münch, J.: Factors influencing software development productivity – state‐of‐the‐art and industrial experiences. In: Zelkowitz, M. (ed.) Advances in Computers, vol. 77, pp. 185–241. Springer, Heidelberg (2009). doi:10.1016/s0065-2458(09)01206-6 Trendowicz, A., Münch, J.: Factors influencing software development productivity – state‐of‐the‐art and industrial experiences. In: Zelkowitz, M. (ed.) Advances in Computers, vol. 77, pp. 185–241. Springer, Heidelberg (2009). doi:10.​1016/​s0065-2458(09)01206-6
2.
Zurück zum Zitat Paiva, E., Barbosa, D., Lima, R., Albuquerque, A.: Factors that influence the productivity of software developers in a developer view. In: Sobh, T., Elleithy, K. (eds.) Innovations in Computing Sciences and Software Engineering, pp. 99–104. Springer, Heidelberg (2010) doi:10.1007/978-90-481-9112-3_17 Paiva, E., Barbosa, D., Lima, R., Albuquerque, A.: Factors that influence the productivity of software developers in a developer view. In: Sobh, T., Elleithy, K. (eds.) Innovations in Computing Sciences and Software Engineering, pp. 99–104. Springer, Heidelberg (2010) doi:10.​1007/​978-90-481-9112-3_​17
3.
Zurück zum Zitat Murphy, G., Kersten, M., Findlater, L.: How are Java software developers using the eclipse IDE? IEEE Softw. 23(4), 76–83 (2006). IEEE, USA. doi:10.1109/ms.2006.105 Murphy, G., Kersten, M., Findlater, L.: How are Java software developers using the eclipse IDE? IEEE Softw. 23(4), 76–83 (2006). IEEE, USA. doi:10.​1109/​ms.​2006.​105
4.
Zurück zum Zitat Marasoiu, M., Church, L., Blackwell, A.: An empirical investigation of code completion usage by professional software developers. In: Coles, M., Ollis, G. (eds.) Proceedings of PPIG 2015, pp. 71–82 (2015) Marasoiu, M., Church, L., Blackwell, A.: An empirical investigation of code completion usage by professional software developers. In: Coles, M., Ollis, G. (eds.) Proceedings of PPIG 2015, pp. 71–82 (2015)
6.
Zurück zum Zitat Bruch, M., Monperrus, M., Mezini, M.: Learning from examples to improve code completion systems. In: Vliet, H., Issarny, V. (eds.) Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 213–222. ACM, USA (2009). doi:10.1145/1595696.1595728 Bruch, M., Monperrus, M., Mezini, M.: Learning from examples to improve code completion systems. In: Vliet, H., Issarny, V. (eds.) Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 213–222. ACM, USA (2009). doi:10.​1145/​1595696.​1595728
9.
Zurück zum Zitat Chatterjee, S., Juvekar, S., Sen, K.: SNIFF: a search engine for Java using free-form queries. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 385–400. Springer, Heidelberg (2009). doi:10.1007/978-3-642-00593-0_26 CrossRef Chatterjee, S., Juvekar, S., Sen, K.: SNIFF: a search engine for Java using free-form queries. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 385–400. Springer, Heidelberg (2009). doi:10.​1007/​978-3-642-00593-0_​26 CrossRef
10.
Zurück zum Zitat Gvero, T.: Search Techniques for Code Generation. École Polytechnique Fédérale de Lausanne, Lausanne (2015) Gvero, T.: Search Techniques for Code Generation. École Polytechnique Fédérale de Lausanne, Lausanne (2015)
11.
Zurück zum Zitat Church, L., Nash, C., Blackwell, A.F.: Liveness in notation use: from music to programming. In: Lawrance, J., Bellamy, R. (eds.) Proceedings of PPIG 2010, pp. 2–11 (2010) Church, L., Nash, C., Blackwell, A.F.: Liveness in notation use: from music to programming. In: Lawrance, J., Bellamy, R. (eds.) Proceedings of PPIG 2010, pp. 2–11 (2010)
12.
Zurück zum Zitat Schilit, B.N., Theimer, M.M.: Disseminating active map information to mobile hosts. IEEE Netw. Mag. Glob. Internetworking 8(5), 22–32 (1994). IEEE Press, USA. doi:10.1109/65.313011 Schilit, B.N., Theimer, M.M.: Disseminating active map information to mobile hosts. IEEE Netw. Mag. Glob. Internetworking 8(5), 22–32 (1994). IEEE Press, USA. doi:10.​1109/​65.​313011
15.
Zurück zum Zitat Stylos, J., Clarke, S.: Usability implications of requiring parameters in objects’ constructors. In: 29th International Conference on Software Engineering, pp. 529–539. IEEE, USA (2007). doi:10.1109/icse.2007.92 Stylos, J., Clarke, S.: Usability implications of requiring parameters in objects’ constructors. In: 29th International Conference on Software Engineering, pp. 529–539. IEEE, USA (2007). doi:10.​1109/​icse.​2007.​92
16.
Zurück zum Zitat Ward, D., Hahn, J., Feist, K.: Autocomplete as a research tool a study on providing search suggestions. Inf. Technol. Libr. 31(4), 6–19 (2012). doi:10.6017/ital.v31i4.1930. Boston College University Libraries, USA Ward, D., Hahn, J., Feist, K.: Autocomplete as a research tool a study on providing search suggestions. Inf. Technol. Libr. 31(4), 6–19 (2012). doi:10.​6017/​ital.​v31i4.​1930. Boston College University Libraries, USA
17.
Zurück zum Zitat Gulwani, S.: Dimensions in program synthesis. In: Bloem, R., Sharygina, R. (eds.) Proceedings of 10th International Conference on Formal Methods in Computer-Aided Design, pp. 20–23. IEEE, Switzerland (2010). doi:10.1145/1836089.1836091 Gulwani, S.: Dimensions in program synthesis. In: Bloem, R., Sharygina, R. (eds.) Proceedings of 10th International Conference on Formal Methods in Computer-Aided Design, pp. 20–23. IEEE, Switzerland (2010). doi:10.​1145/​1836089.​1836091
19.
Zurück zum Zitat Robbes, R., Lanza, M.: How program history can improve code completion. In: 23rd IEEE/ACM International Conference on Automated Software Engineering, pp. 317–326. IEEE Computer Society (2008). doi:10.1109/ASE.2008.42 Robbes, R., Lanza, M.: How program history can improve code completion. In: 23rd IEEE/ACM International Conference on Automated Software Engineering, pp. 317–326. IEEE Computer Society (2008). doi:10.​1109/​ASE.​2008.​42
20.
Zurück zum Zitat Raychev, V., Vechev, M., Yahav, E.: Code completion with statistical language models. In: O’Boyle, M., Pingali, K. (eds.) Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 419–428. ACM (2014). doi:10.1145/2594291.2594321 Raychev, V., Vechev, M., Yahav, E.: Code completion with statistical language models. In: O’Boyle, M., Pingali, K. (eds.) Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 419–428. ACM (2014). doi:10.​1145/​2594291.​2594321
21.
Zurück zum Zitat Zhai, J., Huang, J., Ma, S., Zhang, X., Tan, L., Zhao, J., Qin, F.: Automatic model generation from documentation for Java API functions. In: Dillon, L., Visser, W., Williams, L. (eds.) Proceedings of the 38th International Conference on Software Engineering, pp. 380–391. ACM, USA (2016). doi:10.1145/2884781.2884881 Zhai, J., Huang, J., Ma, S., Zhang, X., Tan, L., Zhao, J., Qin, F.: Automatic model generation from documentation for Java API functions. In: Dillon, L., Visser, W., Williams, L. (eds.) Proceedings of the 38th International Conference on Software Engineering, pp. 380–391. ACM, USA (2016). doi:10.​1145/​2884781.​2884881
22.
Zurück zum Zitat Raghothaman, M., Wei, Y., Hamadi, Y.: SWIM: synthesizing what i mean: code search and idiomatic snippet synthesis. In: Dillon, L., Visser, W., Williams, L. (eds.) Proceedings of the 38th International Conference on Software Engineering, pp. 357–367. ACM, USA (2016). doi:10.1145/2884781.2884808 Raghothaman, M., Wei, Y., Hamadi, Y.: SWIM: synthesizing what i mean: code search and idiomatic snippet synthesis. In: Dillon, L., Visser, W., Williams, L. (eds.) Proceedings of the 38th International Conference on Software Engineering, pp. 357–367. ACM, USA (2016). doi:10.​1145/​2884781.​2884808
23.
Zurück zum Zitat Aditya Desai, A., Gulwani, S., Hingorani, V., Jain, N., Karkare, A., Marron, M., Sailesh, R., Roy, S.: Program synthesis using natural language. In: Dillon, L., Visser, W., Williams, L. (eds.) Proceedings of the 38th International Conference on Software Engineering, pp. 345–356. ACM, USA (2016). doi:10.1145/2884781.2884808 Aditya Desai, A., Gulwani, S., Hingorani, V., Jain, N., Karkare, A., Marron, M., Sailesh, R., Roy, S.: Program synthesis using natural language. In: Dillon, L., Visser, W., Williams, L. (eds.) Proceedings of the 38th International Conference on Software Engineering, pp. 345–356. ACM, USA (2016). doi:10.​1145/​2884781.​2884808
24.
Zurück zum Zitat Kuric, E., Bielikova, M.: Estimation of student’s programming expertise. In: Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. ACM, USA (2014). doi:10.1145/2652524.2652561 Kuric, E., Bielikova, M.: Estimation of student’s programming expertise. In: Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. ACM, USA (2014). doi:10.​1145/​2652524.​2652561
Metadaten
Titel
On Source Code Completion Assistants and the Need of a Context-Aware Approach
verfasst von
Fabio Villamarin Arrebola
Plinio Thomaz Aquino Junior
Copyright-Jahr
2017
DOI
https://doi.org/10.1007/978-3-319-58524-6_17

Neuer Inhalt