Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3596454.3597179acmconferencesArticle/Chapter ViewAbstractPublication PageseicsConference Proceedingsconference-collections
research-article
Open access

Listen Veronica! Can You Give Me a Hand With This Bug?

Published: 27 June 2023 Publication History

Abstract

Developing software implies looking for documentation, following tutorials, making implementation decisions, encountering errors, and overcoming them. Behind each aspect is the developer’s reasoning that, if not collected, is lost after the implementation. Conversely, if captured and linked to the code, the developers’ reasoning and motivations for each step they accomplish can become a valuable asset, meaningful for them and other developers. Looking for a mechanism to capture such knowledge seamlessly, we present Veronica. It is a conversational agent integrated directly into Visual Studio Code that, based on the developers’ self-explanatory reasoning, records memos and links them with the code they are writing. Furthermore, Veronica can interact with the web browser to automatically gather the sources consulted by the developer and attach them to the code. We validated our approach by conducting a usability study with eight participants that positively assessed the tool’s usefulness and suggested improvements in the graphical interface.

References

[1]
Ahmad Abdellatif, Khaled Badran, and Emad Shihab. 2020. MSRBot: Using bots to answer questions from software repositories. Empirical Software Engineering 25, 3 (01 May 2020), 1834–1863. https://doi.org/10.1007/s10664-019-09788-5
[2]
Merav Allouch, Amos Azaria, and Rina Azoulay. 2021. Conversational Agents: Goals, Technologies, Vision and Challenges. Sensors 21, 24 (Dec 2021), 8448. https://doi.org/10.3390/s21248448
[3]
Kiran Bisra, Qing Liu, John C. Nesbit, Farimah Salimi, and Philip H. Winne. 2018. Inducing Self-Explanation: a Meta-Analysis. Educational Psychology Review 30, 3 (01 Sep 2018), 703–725. https://doi.org/10.1007/s10648-018-9434-x
[4]
Bruno da Silva, Chloe Hebert, Abhishu Rawka, and Siriwan Sereesathien. 2020. Robin: A Voice Controlled Virtual Teammate for Software Developers and Teams. In 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). 789–791. https://doi.org/10.1109/ICSME46990.2020.00092
[5]
H. Happel and W. Maalej. 2009. From work to word: How do software developers describe their work?. In 2009 6th IEEE International Working Conference on Mining Software Repositories. MSR 2009. IEEE Computer Society, Los Alamitos, CA, USA, 121–130. https://doi.org/10.1109/MSR.2009.5069490
[6]
Björn Hartmann, Daniel MacDougall, Joel Brandt, and Scott R. Klemmer. 2010. What Would Other Programmers Do: Suggesting Solutions to Error Messages. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (Atlanta, Georgia, USA) (CHI ’10). Association for Computing Machinery, New York, NY, USA, 1019–1028. https://doi.org/10.1145/1753326.1753478
[7]
Andrew Head, Elena L. Glassman, Björn Hartmann, and Marti A. Hearst. 2018. Interactive Extraction of Examples from Existing Code. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (Montreal QC, Canada) (CHI ’18). Association for Computing Machinery, New York, NY, USA, 1–12. https://doi.org/10.1145/3173574.3173659
[8]
Michelle Ichinco and Caitlin Kelleher. 2015. Exploring novice programmer example use. In 2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 63–71. https://doi.org/10.1109/VLHCC.2015.7357199
[9]
Kyungbin Kwon and David H. Jonassen. 2011. The Influence of Reflective Self-Explanations on Problem-Solving Performance. Journal of Educational Computing Research 44, 3 (2011), 247–263. https://doi.org/10.2190/EC.44.3.a
[10]
Carlene Lebeuf, Margaret-Anne Storey, and Alexey Zagalsky. 2018. Software Bots. IEEE Software 35, 1 (2018), 18–23. https://doi.org/10.1109/MS.2017.4541027
[11]
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.6671289
[12]
Michael Xieyang Liu, Jane Hsieh, Nathan Hahn, Angelina Zhou, Emily Deng, Shaun Burley, Cynthia Taylor, Aniket Kittur, and Brad A. Myers. 2019. Unakite: Scaffolding Developers’ Decision-Making Using the Web. In Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology (New Orleans, LA, USA) (UIST ’19). Association for Computing Machinery, New York, NY, USA, 67–80. https://doi.org/10.1145/3332165.3347908
[13]
Walid Maalej, Rebecca Tiarks, Tobias Roehm, and Rainer Koschke. 2014. On the Comprehension of Program Comprehension. ACM Trans. Softw. Eng. Methodol. 23, 4, Article 31 (sep 2014), 37 pages. https://doi.org/10.1145/2622669
[14]
Michael F. McTear. 2017. The Rise of the Conversational Interface: A New Kid on the Block?. In Future and Emerging Trends in Language Technology. Machine Learning and Big Data, José F Quesada, Francisco-Jesús Martín Mateos, and Teresa López Soto (Eds.). Springer International Publishing, Cham, 38–49.
[15]
Stephen Oney and Joel Brandt. 2012. Codelets: Linking Interactive Documentation and Example Code in the Editor. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (Austin, Texas, USA) (CHI ’12). Association for Computing Machinery, New York, NY, USA, 2697–2706. https://doi.org/10.1145/2207676.2208664
[16]
Chris Parnin and Robert DeLine. 2010. Evaluating Cues for Resuming Interrupted Programming Tasks. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (Atlanta, Georgia, USA) (CHI ’10). Association for Computing Machinery, New York, NY, USA, 93–102. https://doi.org/10.1145/1753326.1753342
[17]
James Prather, Raymond Pettit, Brett A. Becker, Paul Denny, Dastyni Loksa, Alani Peters, Zachary Albrecht, and Krista Masci. 2019. First Things First: Providing Metacognitive Scaffolding for Interpreting Problem Prompts. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (Minneapolis, MN, USA) (SIGCSE ’19). Association for Computing Machinery, New York, NY, USA, 531–537. https://doi.org/10.1145/3287324.3287374
[18]
Peter Robe and Sandeep Kaur Kuttal. 2022. Designing PairBuddy—A Conversational Agent for Pair Programming. ACM Trans. Comput.-Hum. Interact. 29, 4, Article 34 (may 2022), 44 pages. https://doi.org/10.1145/3498326
[19]
Sivasurya Santhanam, Tobias Hecking, Andreas Schreiber, and Stefan Wagner. 2022. Bots in software engineering: a systematic mapping study. PeerJ Computer Science 8 (2022), e866.
[20]
Emad Shihab, Stefan Wagner, Marco A. Gerosa, Mairieli Wessel, and Jordi Cabot. 2022. The Present and Future of Bots in Software Engineering. IEEE Software 39, 5 (2022), 28–31. https://doi.org/10.1109/MS.2022.3176864
[21]
Yusuke Shinyama, Yoshitaka Arahori, and Katsuhiko Gondow. 2018. Analyzing Code Comments to Boost Program Comprehension. In 2018 25th Asia-Pacific Software Engineering Conference (APSEC). 325–334. https://doi.org/10.1109/APSEC.2018.00047
[22]
Margaret-Anne Storey and Alexey Zagalsky. 2016. Disrupting Developer Productivity One Bot at a Time. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (Seattle, WA, USA) (FSE 2016). Association for Computing Machinery, New York, NY, USA, 928–931. https://doi.org/10.1145/2950290.2983989
[23]
Camilo Vieira, Alejandra J. Magana, Michael L. Falk, and R. Edwin Garcia. 2017. Writing In-Code Comments to Self-Explain in Computational Science and Engineering Education. ACM Trans. Comput. Educ. 17, 4, Article 17 (aug 2017), 21 pages. https://doi.org/10.1145/3058751
[24]
Camilo Vieira, Alejandra J. Magana, Anindya Roy, and Michael L. Falk. 2019. Student Explanations in the Context of Computational Science and Engineering Education. Cognition and Instruction 37, 2 (2019), 201–231. https://doi.org/10.1080/07370008.2018.1539738
[25]
Zhendong Wang, Yi Wang, and David Redmiles. 2022. From Specialized Mechanics to Project Butlers: The Usage of Bots in Open Source Software Development. IEEE Software 39, 5 (2022), 38–43. https://doi.org/10.1109/MS.2022.3180297
[26]
Joseph J. Williams and Tania Lombrozo. 2010. The Role of Explanation in Discovery and Generalization: Evidence From Category Learning. Cognitive Science 34, 5 (2010), 776–806. https://doi.org/10.1111/j.1551-6709.2010.01113.x

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
EICS '23 Companion: Companion Proceedings of the 2023 ACM SIGCHI Symposium on Engineering Interactive Computing Systems
June 2023
104 pages
ISBN:9798400702068
DOI:10.1145/3596454
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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 June 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. conversational agent
  2. development environment
  3. documentation
  4. software

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • MUR National Recovery and Resilience Plan funded by the European Union - NextGenerationEU

Conference

EICS '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 73 of 299 submissions, 24%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 230
    Total Downloads
  • Downloads (Last 12 months)160
  • Downloads (Last 6 weeks)21
Reflects downloads up to 17 Nov 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media