How Graduate Computing Students Search When Using an Unfamiliar Programming Language

被引:14
作者
Bai, Gina R. [1 ]
Kayani, Joshua [1 ]
Stolee, Kathryn T. [1 ]
机构
[1] N Carolina State Univ, Raleigh, NC 27695 USA
来源
2020 IEEE/ACM 28TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC | 2020年
基金
美国国家科学基金会;
关键词
Code search; Learning new programming languages; VBA; DEVELOPERS; SOFTWARE; INFORMATION;
D O I
10.1145/3387904.3389274
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Developers and computing students are usually expected to master multiple programming languages. To learn a new language, developers often turn to online search to find information and code examples. However, insights on how learners perform code search when working with an unfamiliar language are lacking. Understanding how learners search and the challenges they encounter when using an unfamiliar language can motivate future tools and techniques to better support subsequent language learners. Research on code search behavior typically involves monitoring developers during search activities through logs or in situ surveys. We conducted a study on how computing students search for code in an unfamiliar programming language with 18 graduate students working on VBA tasks in a lab environment. Our surveys explicitly asked about search success and query reformulation to gather reliable data on those metrics. By analyzing the combination of search logs and survey responses, we found that students typically search to explore APIs or find example code. Approximately 50% of queries that precede clicks on documentation or tutorials successfully solved the problem. Students frequently borrowed terms from languages with which they are familiar when searching for examples in an unfamiliar language, but term borrowing did not impede search success. Edit distances between reformulated queries and non-reformulated queries were nearly the same. These results have implications for code search research, especially on reformulation, and for research on supporting programmers when learning a new language.
引用
收藏
页码:160 / 171
页数:12
相关论文
共 58 条
[1]   Evaluating mechanisms of proactive facilitation in cued recall [J].
Aue, William R. ;
Criss, Amy H. ;
Novak, Matthew D. .
JOURNAL OF MEMORY AND LANGUAGE, 2017, 94 :103-118
[2]   Exploring Tools and Strategies Used During Regular Expression Composition Tasks [J].
Bai, Gina R. ;
Clee, Brian ;
Shrestha, Nischal ;
Chapman, Carl ;
Wright, Cimone ;
Stolee, Kathryn T. .
2019 IEEE/ACM 27TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2019), 2019, :197-208
[3]  
Bajracharya Sushil, 2006, COMPANION 21 ACM SIG, P681
[4]  
Bauer V, 2014, P 1 INT WORKSH SOFTW, P14, DOI DOI 10.1145/2593850.2593854
[5]  
Bower Matt., 2011, Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education. ITiCSE11, P218
[6]  
Brandt J, 2010, CHI2010: PROCEEDINGS OF THE 28TH ANNUAL CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, VOLS 1-4, P513
[7]  
Brandt J, 2009, CHI2009: PROCEEDINGS OF THE 27TH ANNUAL CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, VOLS 1-4, P1589
[8]   What's Spain's Paris? Mining analogical libraries from Q&A discussions [J].
Chen, Chunyang ;
Xing, Zhenchang ;
Liu, Yang .
EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (03) :1155-1194
[9]  
Custis Tonya, 2007, 30th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, P575, DOI 10.1145/1277741.1277840
[10]  
Durao FA, 2008, APPLIED COMPUTING 2008, VOLS 1-3, P1151