skip to main content
10.1145/3604571.3604575acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesasian-chiConference Proceedingsconference-collections
research-article

Combining the Knowledge of Experienced Programmers to Extract Useful Web Resources for Solving Programming Tasks

Published:03 October 2023Publication History

ABSTRACT

People with more programming experience often perform more streamlined and efficient web searches. Previous studies have shown that expert programmers spend less time searching for knowledge on the web than novices. However, which web resources are practical for expert programmers and whether they lead to efficient programming problem-solving is unknown. In this study, we aim to extract practical learning web resources for solving programming tasks from web browsing logs of programming experts. We present a web browser extension that tracks a user’s browsing history. Data is collected from ten participants with over four years of programming experience. Participants are asked to complete three text-mining tasks using the R programming language. After the experiment, participants are asked to complete a post-experiment survey to indicate which web resource assisted them in solving the problem. The results show that combining the results of web access for programmers make it possible to discover practical web resources for problem-solving. Our results demonstrate a strategy for extracting web resources helpful in solving programming tasks.

References

  1. Deeksha Arya, Jin L.C. Guo, and Martin Robillard. 2022. How programmers find online learning resources. Empirical Software Engineering 28 (12 2022). https://doi.org/10.1007/s10664-022-10246-yGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  2. Gina R. Bai, Joshua Kayani, and Kathryn T. Stolee. 2020. How Graduate Computing Students Search When Using an Unfamiliar Programming Language. In Proceedings of the 28th International Conference on Program Comprehension (Seoul, Republic of Korea) (ICPC ’20). Association for Computing Machinery, New York, NY, USA, 160–171. https://doi.org/10.1145/3387904.3389274Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Giuseppe Di Battista, Peter Eades, Roberto Tamassia, and Ioannis G Tollis. 1998. Graph drawing: algorithms for the visualization of graphs. Prentice Hall PTR.Google ScholarGoogle Scholar
  4. Joel Brandt, Philip J. Guo, Joel Lewenstein, Mira Dontcheva, and Scott R. Klemmer. 2009. Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (Boston, MA, USA) (CHI ’09). Association for Computing Machinery, New York, NY, USA, 1589–1598. https://doi.org/10.1145/1518701.1518944Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Michelle Ichinco, Wint Yee Hnin, and Caitlin L. Kelleher. 2017. Suggesting API Usage to Novice Programmers with the Example Guru. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems (Denver, Colorado, USA) (CHI ’17). Association for Computing Machinery, New York, NY, USA, 1105–1117. https://doi.org/10.1145/3025453.3025827Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jinyoung Kim, Brenna McNally, Leyla Norooz, and Allison Druin. 2017. Internet Search Roles of Adults in Their Homes. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems (Denver, Colorado, USA) (CHI ’17). Association for Computing Machinery, New York, NY, USA, 4948–4959. https://doi.org/10.1145/3025453.3025572Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Kyung-Sun Kim and Sei-Ching Joanna Sin. 2016. Use and Evaluation of Information From Social Media in the Academic Context: Analysis of Gap Between Students and Librarians. The Journal of Academic Librarianship 42, 1 (2016), 74–82. https://doi.org/10.1016/j.acalib.2015.11.001Google ScholarGoogle ScholarCross RefCross Ref
  8. Michael J. Lee and Amy J. Ko. 2011. Personifying Programming Tool Feedback Improves Novice Programmers’ Learning. In Proceedings of the Seventh International Workshop on Computing Education Research (Providence, Rhode Island, USA) (ICER ’11). Association for Computing Machinery, New York, NY, USA, 109–116. https://doi.org/10.1145/2016911.2016934Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Hongwei Li, Zhenchang Xing, Xin Peng, and Wenyun Zhao. 2013. What help do developers seek, when and how?. In 2013 20th Working Conference on Reverse Engineering (WCRE). 142–151. https://doi.org/10.1109/WCRE.2013.6671289Google ScholarGoogle ScholarCross RefCross Ref
  10. Jiakun Liu, Sebastian Baltes, Christoph Treude, David Lo, Yun Zhang, and Xin Xia. 2021. Characterizing Search Activities on Stack Overflow. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (Athens, Greece) (ESEC/FSE 2021). Association for Computing Machinery, New York, NY, USA, 919–931. https://doi.org/10.1145/3468264.3468582Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jihed Makhlouf, Yutaka Arakawa, and Ko Watanabe. 2021. A Privacy-Aware Browser Extension to Track User Search Behavior for Programming Course Supplement. In International Conference on Mobile and Ubiquitous Systems: Computing, Networking, and Services. Springer, 783–796.Google ScholarGoogle Scholar
  12. Swati Mishra and Jeffrey M Rzeszotarski. 2021. Designing Interactive Transfer Learning Tools for ML Non-Experts. In Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems (Yokohama, Japan) (CHI ’21). Association for Computing Machinery, New York, NY, USA, Article 364, 15 pages. https://doi.org/10.1145/3411764.3445096Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. David Piorkowski, Scott D. Fleming, Christopher Scaffidi, Margaret Burnett, Irwin Kwan, Austin Z. Henley, Jamie Macbeth, Charles Hill, and Amber Horvath. 2015. To fix or to learn? How production bias affects developers’ information foraging during debugging. In 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME). 11–20. https://doi.org/10.1109/ICSM.2015.7332447Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Patrick Riehmann, Manfred Hanfler, and Bernd Froehlich. 2005. Interactive sankey diagrams. In IEEE Symposium on Information Visualization, 2005. INFOVIS 2005. IEEE, 233–240.Google ScholarGoogle ScholarCross RefCross Ref
  15. Serhad Sarica and Jianxi Luo. 2021. Stopwords in technical language processing. Plos one 16, 8 (2021), e0254937.Google ScholarGoogle ScholarCross RefCross Ref
  16. Christoph Treude, Ohad Barzilay, and Margaret-Anne Storey. 2011. How Do Programmers Ask and Answer Questions on the Web? (NIER Track). In Proceedings of the 33rd International Conference on Software Engineering (Waikiki, Honolulu, HI, USA) (ICSE ’11). Association for Computing Machinery, New York, NY, USA, 804–807. https://doi.org/10.1145/1985793.1985907Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Ko Watanabe, Yuki Matsuda, Yugo Nakamura, Yutaka Arakawa, and Shoya Ishimaru. 2022. How do Programmers Use the Internet? Discovering Domain Knowledge from Browsing and Coding Behaviors. In 2022 IEEE International Conferences on Internet of Things (iThings) and IEEE Green Computing & Communications (GreenCom) and IEEE Cyber, Physical & Social Computing (CPSCom) and IEEE Smart Data (SmartData) and IEEE Congress on Cybermatics (Cybermatics). IEEE, 605–610.Google ScholarGoogle Scholar
  18. Xin Xia, Lingfeng Bao, David Lo, Pavneet Singh Kochhar, Ahmed E Hassan, and Zhenchang Xing. 2017. What do developers search for on the web?Empirical Software Engineering 22, 6 (2017), 3149–3185.Google ScholarGoogle Scholar

Index Terms

  1. Combining the Knowledge of Experienced Programmers to Extract Useful Web Resources for Solving Programming Tasks

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          Asian CHI '23: Proceedings of the Asian HCI Symposium 2023
          April 2023
          109 pages
          ISBN:9798400707612
          DOI:10.1145/3604571

          Copyright © 2023 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 3 October 2023

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format