@article{sedhain_diwanji_solomon_leon_kuttal_2024, title={Developers' information seeking in Question & Answer websites through a gender lens}, volume={79}, ISSN={["2665-9182"]}, url={https://doi.org/10.1016/j.cola.2024.101267}, DOI={10.1016/j.cola.2024.101267}, abstractNote={Question & Answer websites for developers, such as Stack Overflow, contain enormous programming knowledge which can be redundant and cost substantial time and cognitive effort. We investigated the information seeking behavior of developers on Stack Overflow using Information Foraging Theory. To understand the influence of gender on foraging patterns, we conducted a gender-balanced think-aloud lab study with 12 participants, followed by retrospective interviews. The participants performed two debugging tasks: (1) understand foraging between question variants and (2) understand foraging between answer variants, on Stack Overflow. Various cues and strategies were utilized by the participants to find relevant question and optimal answer on Stack Overflow. Gender effect on their foraging pattern was observed as men participants used 19.7% more cues and spent 55% more time than women participants. We also categorized various cues in terms of cost-value proposition and reported a debugging foraging model for Stack Overflow. Our study has implications for Question and Answer websites as well as Information Foraging Theory.}, journal={JOURNAL OF COMPUTER LANGUAGES}, author={Sedhain, Abim and Diwanji, Vaishvi and Solomon, Helen and Leon, Shahnewaz and Kuttal, Sandeep Kaur}, year={2024}, month={Jun} } @article{leon_tamanna_kuttal_2023, title={Comparing Foraging Behavior Across Code Hosting and Q&A Platforms through a Gender Lens}, ISSN={["1943-6092"]}, DOI={10.1109/VL-HCC57772.2023.00040}, abstractNote={This study compares the information foraging behavior of developers on two prominent platforms, StackOverflow and GitHub, which are widely used for code hosting and question and answer purposes. Understanding how developers seek and retrieve information is crucial for designing effective interfaces. In a gender and expertise-balanced study involving 12 developers, we utilized Information Foraging Theory to analyze their foraging behavior. Our findings revealed contrasting patterns, with women spending 30% more time and utilizing 21.24% more cues on GitHub, while men utilized 55% more time and 19.7% more cues on StackOverflow. These insights have significant implications for optimizing website design and information presentation to enhance the efficiency and effectiveness of developers' information seeking processes.}, journal={2023 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, VL/HCC}, author={Leon, Shahnewaz and Tamanna, Mahzabin and Kuttal, Sandeep Kaur}, year={2023}, pages={235–238} } @article{mason_kuttal_2023, title={Investigating Interracial Pair Coordination During Remote Pair Programming}, ISSN={["1943-6092"]}, DOI={10.1109/VL-HCC57772.2023.00047}, abstractNote={Remote pair programming is a popular software development method that lacks evidence on how race may affect pair dynamics. Past computer science studies demonstrated how race impacts various fields such as AI, education, politics and jobs. A complex history of interracial interactions in the United States has led to differences in collaborative styles. We recruited 12 professional developers and investigated how same-and mixed-race pairs (Black-White) coordinated during remote pair programming interactions. Our results revealed that Black developers in mixed-race pairs were more democratic while in same-race pairs were more authoritative.}, journal={2023 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, VL/HCC}, author={Mason, Shandler A. and Kuttal, Sandeep Kaur}, year={2023}, pages={260–262} } @article{robe_kuttal_2022, title={Designing PairBuddy—A Conversational Agent for Pair Programming}, volume={29}, ISSN={1073-0516 1557-7325}, url={http://dx.doi.org/10.1145/3498326}, DOI={10.1145/3498326}, abstractNote={From automated customer support to virtual assistants, conversational agents have transformed everyday interactions, yet despite phenomenal progress, no agent exists for programming tasks. To understand the design space of such an agent, we prototyped PairBuddy—an interactive pair programming partner—based on research from conversational agents, software engineering, education, human-robot interactions, psychology, and artificial intelligence. We iterated PairBuddy’s design using a series of Wizard-of-Oz studies. Our pilot study of six programmers showed promising results and provided insights toward PairBuddy’s interface design. Our second study of 14 programmers was positively praised across all skill levels. PairBuddy’s active application of soft skills—adaptability, motivation, and social presence—as a navigator increased participants’ confidence and trust, while its technical skills—code contributions, just-in-time feedback, and creativity support—as a driver helped participants realize their own solutions. PairBuddy takes the first step towards an Alexa-like programming partner.}, number={4}, journal={ACM Transactions on Computer-Human Interaction}, publisher={Association for Computing Machinery (ACM)}, author={Robe, Peter and Kuttal, Sandeep Kaur}, year={2022}, month={May}, pages={1–44} } @misc{diwanji_sedhain_bodi_kuttal_2022, title={Developers’ Foraging Behavior on Stack Overflow}, url={http://dx.doi.org/10.1109/vl/hcc53370.2022.9833123}, DOI={10.1109/vl/hcc53370.2022.9833123}, abstractNote={Stack Overflow is the most popular platform for developers to exchange knowledge on software engineering tasks. Developers spend large portions of their time trying to find relevant questions and answers. However, Stack Overflow contains tremendous amounts of noisy and redundant questions and answers. This becomes costly in terms of time as well as cognitive load on developers. To understand information-seeking behavior, we used Information Foraging Theory (IFT). We conducted a gender-balanced, think-aloud study with 12 participants (6 students and 6 professionals) where they completed a debugging task. We investigated the cues associated with participants’ actions through the lens of IFT.}, journal={2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Diwanji, Vaishvi and Sedhain, Abim and Bodi, Grey and Kuttal, Sandeep Kaur}, year={2022}, month={Sep} } @misc{sedhain_ragavan_mckinney_kuttal_2022, title={Estimating Foraging Values and Costs in Stack Overflow}, url={http://dx.doi.org/10.1109/vl/hcc53370.2022.9833135}, DOI={10.1109/vl/hcc53370.2022.9833135}, abstractNote={We operationalized information foraging theory for Stack Overflow and built a semi-supervised model to recommend optimal information to the developers.}, journal={2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Sedhain, Abim and Ragavan, Sruti Srinivasa and McKinney, Brett and Kuttal, Sandeep Kaur}, year={2022}, month={Sep} } @misc{mcauliffe_hart_kuttal_2022, title={Evaluating Gender Bias in Pair Programming Conversations with an Agent}, url={http://dx.doi.org/10.1109/vl/hcc53370.2022.9833146}, DOI={10.1109/vl/hcc53370.2022.9833146}, abstractNote={While pair programming conversational agents have the potential to change the current landscape of programming, they require vast amounts of diverse data to train. However, due to gender gaps in the Computer Science field, it is difficult to obtain data involving women in pair programming scenarios; this may result in a bias in a future agent. Furthermore, previous research has highlighted differences between men and women in problem solving, communication, creativity, and leadership styles, which are critical for the success of pair collaboration. Therefore, it is crucial to understand how the agent’s performance is affected by the gender composition of training datasets. Using the transformer-based language model BERT, we created a natural language understanding (NLU) model for our future agent, and tested its intent classification performance when alternately trained and tested on datasets composed entirely of either men or women. We found that the model’s performance was significantly higher when trained and tested on men datasets, indicating the presence of gender bias within the NLU model of a future agent.}, journal={2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={McAuliffe, Alexander and Hart, Jacob and Kuttal, Sandeep Kaur}, year={2022}, month={Sep} } @misc{hart_aubuchon_kuttal_2022, title={Feasibility of using YouTube Conversations for Pair Programming Intent Classification}, url={http://dx.doi.org/10.1109/vl/hcc53370.2022.9833139}, DOI={10.1109/vl/hcc53370.2022.9833139}, abstractNote={Pair programming conversational agents demand vast amounts of data for training. Recently a benchmark dataset of developer-developer and developer-agent pair programming conversations, from lab studies (8,324 utterances) was released for training natural language unit of a pair programming conversational agent. Unfortunately, this dataset is limited to a single domain and language. To investigate if it was feasible to utilize already available pair programming conversations from online video hosting platforms (i.e. YouTube), we collected five Youtube videos (roughly 350 minutes) with 4,822 utterances. We used transformer-based language model BERT to compare the lab studies with online videos. We found that a transfer learning approach, first training BERT on online videos and then fine-tuning with specific developer-agent data, resulted in the best performance.}, journal={2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Hart, Jacob and AuBuchon, Jake and Kuttal, Sandeep Kaur}, year={2022}, month={Sep} } @inbook{kaur kuttal_sedhain_riethmeier_2022, title={How Do Web-Active End-User Programmers Forage?}, url={http://dx.doi.org/10.5772/intechopen.97765}, DOI={10.5772/intechopen.97765}, abstractNote={Web-active end-user programmers spend substantial time and cognitive effort seeking information while debugging web mashups, which are platforms for creating web applications by combining data and functionality from two or more different sources. The debugging on these platforms is challenging as end user programmers need to forage within the mashup environment to find bugs and on the web to forage for the solution to those bugs. To understand the foraging behavior of end-user programmers when debugging, we used information forging theory. Information foraging theory helps understand how users forage for information and has been successfully used to understand and model user behavior when foraging through documents, the web, user interfaces, and programming environments. Through the lens of information foraging theory, we analyzed the data from a controlled lab study of eight web-active end-user programmers. The programmers completed two debugging tasks using the Yahoo! Pipes web mashup environment. On analyzing the data, we identified three types of cues: clear, fuzzy, and elusive. Clear cues helped participants to find and fix bugs with ease while fuzzy and elusive cues led to useless foraging. We also identified the strategies used by the participants when finding and fixing bugs. Our results give us a better understanding of the programming behavior of web-active end-users and can inform researchers and professionals how to create better support for the debugging process. Further, this study methodology can be adapted by researchers to understand other aspects of programming such as implementing, reusing, and maintaining code.}, booktitle={Coding Theory - Recent Advances, New Perspectives and Applications}, publisher={IntechOpen}, author={Kaur Kuttal, Sandeep and Sedhain, Abim and Riethmeier, Benjamin}, year={2022}, month={May} } @misc{sedhain_kuttal_2022, title={Information Seeking Behavior for Bugs on GitHub: An Information Foraging Perspective}, url={http://dx.doi.org/10.1109/vl/hcc53370.2022.9833144}, DOI={10.1109/vl/hcc53370.2022.9833144}, abstractNote={GitHub is the largest code hosting platform for version control and collaboration. With presence of numerous files and folders within each repository, developers have to sacrifice their time to sift through them during debugging. We investigated developers’ debugging behavior with a think-aloud study involving 12 participants and reported cues and strategies utilized by them.}, journal={2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Sedhain, Abim and Kuttal, Sandeep Kaur}, year={2022}, month={Sep} } @misc{robe_kuttal_aubuchon_hart_2022, title={Pair programming conversations with agents vs. developers: challenges and opportunities for SE community}, url={http://dx.doi.org/10.1145/3540250.3549127}, DOI={10.1145/3540250.3549127}, abstractNote={Recent research has shown feasibility of an interactive pair-programming conversational agent, but implementing such an agent poses three challenges: a lack of benchmark datasets, absence of software engineering specific labels, and the need to understand developer conversations. To address these challenges, we conducted a Wizard of Oz study with 14 participants pair programming with a simulated agent and collected 4,443 developer-agent utterances. Based on this dataset, we created 26 software engineering labels using an open coding process to develop a hierarchical classification scheme. To understand labeled developer-agent conversations, we compared the accuracy of three state-of-the-art transformer-based language models, BERT, GPT-2, and XLNet, which performed interchangeably. In order to begin creating a developer-agent dataset, researchers and practitioners need to conduct resource intensive Wizard of Oz studies. Presently, there exists vast amounts of developer-developer conversations on video hosting websites. To investigate the feasibility of using developer-developer conversations, we labeled a publicly available developer-developer dataset (3,436 utterances) with our hierarchical classification scheme and found that a BERT model trained on developer-developer data performed ~10% worse than the BERT trained on developer-agent data, but when using transfer-learning, accuracy improved. Finally, our qualitative analysis revealed that developer-developer conversations are more implicit, neutral, and opinionated than developer-agent conversations. Our results have implications for software engineering researchers and practitioners developing conversational agents.}, journal={Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering}, publisher={ACM}, author={Robe, Peter and Kuttal, Sandeep K. and AuBuchon, Jake and Hart, Jacob}, year={2022}, month={Nov} } @misc{kuttal_sedhain_aubuchon_2021, title={Designing a Gender-Inclusive Conversational Agent For Pair Programming: An Empirical Investigation}, ISBN={9783030777715 9783030777722}, ISSN={0302-9743 1611-3349}, url={http://dx.doi.org/10.1007/978-3-030-77772-2_4}, DOI={10.1007/978-3-030-77772-2_4}, abstractNote={Recently, research has shown that replacing a human with an agent in a pair programming context can bring similar benefits such as increased code quality, productivity, self-efficacy, and knowledge transfer as it does with a human. However, to create a gender-inclusive agent, we need to understand the communication styles between human-human and human-agent pairs. To investigate the communication styles, we conducted gender-balanced studies with human-human pairs in a remote lab setting with 18 programmers and human-agent pairs using Wizard-of-Oz methodology with 14 programmers. Our quantitative and qualitative analysis of the communication styles between the two studies showed that humans were more comfortable asking questions to an agent and interacting with it than other humans. We also found men participants showed less uncertainty and trusted agent solutions more, while women participants used more instructions and apologized less to an agent. Our research results confirm the feasibility of creating gender-inclusive conversational agents for programming.}, journal={Artificial Intelligence in HCI}, publisher={Springer International Publishing}, author={Kuttal, Sandeep Kaur and Sedhain, Abim and AuBuchon, Jacob}, year={2021}, pages={59–75} } @article{kuttal_kim_martos_bejarano_2021, title={How end-user programmers forage in online repositories? An information foraging perspective}, volume={62}, ISSN={2590-1184}, url={http://dx.doi.org/10.1016/j.cola.2020.101010}, DOI={10.1016/j.cola.2020.101010}, abstractNote={End-user (non-professional) programmers often opportunistically create programs, they evaluate various alternatives and reuse existing code by merging components from it or modifying it to suit the context or problems of their programs. Finding and evaluating which program variants to reuse code from is challenging because the searching mechanisms within online repositories are not optimal. To understand the reuse behavior of end-user programmers and to provide implications on how to further support them, we conducted an empirical study in which eight end-user programmers foraged in online repositories, specifically App Inventor Gallery and File Exchange. Using Information Foraging Theory, we qualitatively analyzed the end-user programmers' behavior and focused on not only program variants from a single source, but also on similar variants from various sources developed over time and by different authors. This analysis revealed new cue types and strategies specific to novice and experienced end-user programmers as they foraged between- and within-variants.}, journal={Journal of Computer Languages}, publisher={Elsevier BV}, author={Kuttal, Sandeep Kaur and Kim, Se Yeon and Martos, Carlos and Bejarano, Alexandra}, year={2021}, month={Feb}, pages={101010} } @misc{lott_mcauliffe_kuttal_2021, title={Remote Pair Collaborations of CS Students: Leaving Women Behind?}, url={http://dx.doi.org/10.1109/vl/hcc51201.2021.9576394}, DOI={10.1109/vl/hcc51201.2021.9576394}, abstractNote={Remote pair programming research indicates benefits for CS students, increasing productivity, code quality, teamwork, knowledge management, and morale. The COVID-19 pandemic increased the prevalence of remote pair programming. Gender gaps persist in CS classes and workplaces, which may negatively impact the way pairs coordinate, communicate, and collaborate. To understand these effects, we conducted a large-scale survey to investigate differences between men and women as well as same- and mixed-gender pairs. The survey questions were adapted from established literature on gender differences in the fields of education, communication, management, human-robotic interaction, and human-computer interaction. Quantitative analysis of the survey data using ANOVA and pairwise t-tests indicated that women participants reported their men partners made gender-based assumptions about them, and felt dominated and interrupted with men partners. Men participants felt their men partners were more rude and gave more negative feedback than women partners. Further, qualitative analysis of interviews gave insights to several challenges CS students face in same and mixed-gender pairs when programming remotely. Our findings have implications for researchers, practitioners, and educators to promote gender inclusivity in collaborative environments.}, journal={2021 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Lott, Caroline and McAuliffe, Alexander and Kuttal, Sandeep Kaur}, year={2021}, month={Oct} } @misc{kuttal_ong_kwasny_robe_2021, title={Trade-offs for Substituting a Human with an Agent in a Pair Programming Context: The Good, the Bad, and the Ugly}, url={http://dx.doi.org/10.1145/3411764.3445659}, DOI={10.1145/3411764.3445659}, abstractNote={Pair programming has a documented history of benefits, such as increased code quality, productivity, self-efficacy, knowledge transfer, and reduced gender gap. Research uncovered problems with pair programming related to scheduling, collocating, role imbalance, and power dynamics. We investigated the trade-offs of substituting a human with an agent to simultaneously provide benefits and alleviate obstacles in pair programming. We conducted gender-balanced studies with human-human pairs in a remote lab with 18 programmers and Wizard-of-Oz studies with 14 programmers, then analyzed results quantitatively and qualitatively. Our comparative analysis of the two studies showed no significant differences in productivity, code quality, and self-efficacy. Further, agents facilitated knowledge transfer; however, unlike humans, agents were unable to provide logical explanations or discussions. Human partners trusted and showed humility towards agents. Our results demonstrate that agents can act as effective pair programming partners and open the way towards new research on conversational agents for programming.}, journal={Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems}, publisher={ACM}, author={Kuttal, Sandeep Kaur and Ong, Bali and Kwasny, Kate and Robe, Peter}, year={2021}, month={May} } @article{kuttal_chen_wang_balali_sarma_2021, title={Visual Resume: Exploring developers’ online contributions for hiring}, volume={138}, ISSN={0950-5849}, url={http://dx.doi.org/10.1016/j.infsof.2021.106633}, DOI={10.1016/j.infsof.2021.106633}, abstractNote={Recruiters and practitioners are increasingly relying on online activities of developers to find a suitable candidate. Past empirical studies have identified technical and soft skills that managers use in online peer production sites when making hiring decisions. However, finding candidates with relevant skills is a labor-intensive task for managers, due to the sheer amount of information online peer production sites contain. We designed a profile aggregation tool—Visual Resume—that aggregates contribution information across two types of peer production sites: a code hosting site (GitHub) and a technical Q&A forum (Stack Overflow). Visual Resume displays summaries of developers’ contributions and allows easy access to their contribution details. It also facilitates pairwise comparisons of candidates through a card-based design. We present the motivation for such a design and design guidelines for creating such recruitment tool. We performed a scenario-based evaluation to identify how participants use developers’ online contributions in peer production sites as well as how they used Visual Resume when making hiring decisions. Our analysis helped in identifying the technical and soft skill cues that were most useful to our participants when making hiring decisions in online production sites. We also identified the information features that participants used and the ways the participants accessed that information to select a candidate. Our results suggest that Visual Resume helps in participants evaluate cues for technical and soft skills more efficiently as it presents an aggregated view of candidate’s contributions, allows drill down to details about contributions, and allows easy comparison of candidates via movable cards that could be arranged to match participants’ needs.}, journal={Information and Software Technology}, publisher={Elsevier BV}, author={Kuttal, Sandeep Kaur and Chen, Xiaofan and Wang, Zhendong and Balali, Sogol and Sarma, Anita}, year={2021}, month={Oct}, pages={106633} } @article{kuttal_sun_ghosh_sharma_2020, title={Birds of a feather flock together? A study of developers’ flocking and migration behavior in GitHub and Stack Overflow}, volume={18}, number={6}, journal={International Journal of Computer Science and Information Security}, author={Kuttal, S. and Sun, M. and Ghosh, A. and Sharma, R.}, year={2020}, month={Jun}, pages={1–12} } @misc{robe_kaur kuttal_zhang_bellamy_2020, title={Can Machine Learning Facilitate Remote Pair Programming? Challenges, Insights & Implications}, url={http://dx.doi.org/10.1109/vl/hcc50065.2020.9127250}, DOI={10.1109/vl/hcc50065.2020.9127250}, abstractNote={Remote pair programming encapsulates the benefits of well-researched (co-located) pair programming. However, its effectiveness is hindered by challenges including pair incompatibility, imbalanced roles, and inclinations to work alone. Recent research has explored pedagogical methods to alleviate these challenges, but none have considered the integration of machine learning agents to facilitate remote pair programming. Therefore, we investigated the capabilities of popular text classification algorithms on identifying three facets of pair programming: dialogue acts, creativity stages, and pair programming roles. We collected a dataset of 3,436 utterances from a lab study of 18 pair programmers in a simulated remote environment. We found that pair programming dialogue poses a challenge as it is often unpremeditated and inadequately structured. Despite this, the accuracy of our machine learning classifier was improved by the choice of contextual dialogue features. Our results have implications for facilitating pair programming in global software development and online computer science education.}, journal={2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Robe, Peter and Kaur Kuttal, Sandeep and Zhang, Yunfeng and Bellamy, Rachel}, year={2020}, month={Aug} } @article{kuttal_ghosh_2020, title={Source code comments: Overlooked in the realm of code clone detection}, volume={18}, DOI={10.5281/zenodo.4361801}, number={11}, journal={International Journal of Computer Science and Information Security}, author={Kuttal, S. and Ghosh, A.}, year={2020}, month={Nov}, pages={11–22} } @misc{kuttal_myers_gurka_magar_piorkowski_bellamy_2020, title={Towards Designing Conversational Agents for Pair Programming: Accounting for Creativity Strategies and Conversational Styles}, url={http://dx.doi.org/10.1109/vl/hcc50065.2020.9127276}, DOI={10.1109/vl/hcc50065.2020.9127276}, abstractNote={Established research on pair programming reveals benefits, including increasing communication, creativity, self-efficacy, and promoting gender inclusivity. However, research has reported limitations such as finding a compatible partner, scheduling sessions between partners, and resistance to pairing. Further, pairings can be affected by predispositions to negative stereotypes. These problems can be addressed by replacing one human member of the pair with a conversational agent. To investigate the design space of such a conversational agent, we conducted a controlled remote pair programming study. Our analysis found various creative problem-solving strategies and differences in conversational styles. We further analyzed the transferable strategies from human-human collaboration to human-agent collaboration by conducting a Wizard of Oz study. The findings from the two studies helped us gain insights regarding design of a programmer conversational agent. We make recommendations for researchers and practitioners for designing pair programming conversational agent tools.}, journal={2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Kuttal, Sandeep Kaur and Myers, Jarow and Gurka, Sam and Magar, David and Piorkowski, David and Bellamy, Rachel}, year={2020}, month={Aug} } @article{kuttal_bai_scott_sharma_2020, title={Tug of perspectives: Mobile app users versus developers}, volume={18}, number={6}, journal={International Journal of Computer Science and Information Security}, author={Kuttal, S. and Bai, Y. and Scott, E. and Sharma, R.}, year={2020}, month={Jun}, pages={83–94} } @article{kuttal_sarma_burnett_rothermel_koeppe_shepherd_2019, title={How end-user programmers debug visual web-based programs: An information foraging theory perspective}, volume={53}, ISSN={2590-1184}, url={http://dx.doi.org/10.1016/j.cola.2019.04.003}, DOI={10.1016/j.cola.2019.04.003}, abstractNote={Web-active end-user programmers squander much of their time foraging for bugs and related information in mashup programming environments as well as on the web. To analyze this foraging behavior while debugging, we utilize an Information Foraging Theory perspective. Information Foraging Theory models the human (predator) behavior to forage for specific information (prey) in the webpages or programming IDEs (patches) by following the information features (cues) in the environment. We qualitatively studied the debugging behavior of 16 web-active end users. Our results show that end-user programmers spend substantial amounts (73%) of their time just foraging. Further, our study reveals new cue types and foraging strategies framed in terms of Information Foraging Theory, and it uncovers which of these helped end-user programmers succeed in their debugging efforts.}, journal={Journal of Computer Languages}, publisher={Elsevier BV}, author={Kuttal, Sandeep Kaur and Sarma, Anita and Burnett, Margaret and Rothermel, Gregg and Koeppe, Ian and Shepherd, Brooke}, year={2019}, month={Aug}, pages={22–37} } @misc{kaur kuttal_gerstner_bejarano_2019, title={Remote Pair Programming in Online CS Education: Investigating through a Gender Lens}, url={http://dx.doi.org/10.1109/vlhcc.2019.8818790}, DOI={10.1109/vlhcc.2019.8818790}, abstractNote={Online CS education shows many gender-inclusivity problems in practice and through tools, and little has been done to address this. In CS classrooms, pair programming has been shown to significantly help women and men understand and appreciate programming concepts, and to help close gender gaps. Unfortunately, pair programming is not well supported in online CS education, especially when one of the pair members is a woman. Our overall objective is to address this gap by investigating the following question: How can we bring the educational benefits of pair programming to online CS students in gender-equitable ways? In this paper, we empirically investigate whether and how technology-mediated remote pair programming hinders online students of same- and mixed-gender pairs. Based on our results, we propose refining personas and the cognitive walkthrough to include leadership styles and preferences for pair-programming roles. We further recommend features for online CS educational tools to promote gender-inclusiveness.}, journal={2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Kaur Kuttal, Sandeep and Gerstner, Kevin and Bejarano, Alexandra}, year={2019}, month={Oct} } @misc{ghosh_kuttal_2018, title={Semantic Clone Detection: Can Source Code Comments Help?}, url={http://dx.doi.org/10.1109/vlhcc.2018.8506550}, DOI={10.1109/vlhcc.2018.8506550}, abstractNote={Programmers reuse code to increase their productivity, which leads to large fragments of duplicate or near-duplicate code in the code base. The current code clone detection techniques for finding semantic clones utilize Program Dependency Graphs (PDG), which are expensive and resource-intensive. PDG and other clone detection techniques utilize code and have completely ignored the comments - due to ambiguity of English language, but in terms of program comprehension, comments carry the important domain knowledge. We empirically evaluated the accuracy of detecting clones with both code and comments on a JHotDraw package. Results show that detecting code clones in the presence of comments, Latent Dirichlet Allocation (LDA), gave 84% precision and 94% recall, while in the presence of a PDG, using GRAPLE, we got 55% precision and 29% recall. These results indicate that comments can be used to find semantic clones. We recommend utilizing comments with LDA to find clones at the file level and code with PDG for finding clones at the function level. These findings necessitate a need to reexamine the assumptions regarding semantic clone detection techniques.}, journal={2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Ghosh, Akash and Kuttal, Sandeep Kaur}, year={2018}, month={Oct} } @misc{zhou_kuttal_ahmed_2018, title={What Makes a Good Developer? An Empirical Study of Developers' Technical and Social Competencies}, url={http://dx.doi.org/10.1109/vlhcc.2018.8506577}, DOI={10.1109/vlhcc.2018.8506577}, abstractNote={Technical and social competencies are highly desirable for a protean developer. Managers make hiring decisions based on developer's contributions to online peer production sites like GitHub and Stack Overflow. These sites provide ample history regarding developers' technical and social skills. Although these histories are utilized by hiring tools to help managers make their hiring decisions, little is known empirically how developers' social skills affect their technical skills and vice versa. Without such knowledge, tools, research, and training might be flawed. We present an in-depth empirical study investigating the correlation between the technical and social skills of developers. Our quantitative analysis of factors influencing the social skills of developers compared with factors affecting their technical skills indicates that better collaboration competency skills are associated with enhanced coding abilities as well as the quality of code.}, journal={2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Zhou, Cheng and Kuttal, Sandeep Kaur and Ahmed, Iftekhar}, year={2018}, month={Oct} } @article{kuttal_sarma_rothermel_wang_2018, title={What happened to my application? Helping end users comprehend evolution through variation management}, volume={103}, ISSN={0950-5849}, url={http://dx.doi.org/10.1016/j.infsof.2018.06.008}, DOI={10.1016/j.infsof.2018.06.008}, abstractNote={Context: Millions of end users are creating software applications. These end users typically do not have clear requirements in mind; instead, they debug their programs into existence and reuse their own or other persons' code. These behaviors often result in the creation of numerous variants of programs. Current end-user programming environments do not provide support for managing such variants. Objective: We wish to understand the variant creation behavior of end user programmers. Based on this understanding we wish to develop an automated system to help end user programmers efficiently manage variants. Method: We conducted an on-line survey to understand when and how end-user programmers create program variants and how they manage them. Our 124 survey respondents were recruited via email from among non-computer science majors who had taken at least one course in the computer science department at our university; the respondents were involved in the Engineering, Sciences, Arts, and Management fields. Based on the results of this survey we identified a set of design requirements for providing variation management support for end users. We implemented variation management support in App Inventor – a drag and drop programming environment for creating mobile applications. Our support, AppInventorHelper, is meant to help end-user programmers visualize the provenance of and relationships among variants. We conducted a think-aloud study with 10 participants to evaluate the usability of AppInventorHelper. The participants were selected on a first-come, first-served basis from those who responded to our recruitment email sent to list-servers. They were all end users majoring in electrical engineering, mechanical engineering, or physics. None had formal training in software engineering methods, but all had some experience with visual programming languages. Results: Our (user study) results indicate that AppInventorHelper can help end users navigate through variants and find variants that could be utilized cost-effectively as examples or actual code upon which to build new applications. For example, in one of our empirical studies end users explored variants of a paint application in order to find a variant that could easily be extended to incorporate a new feature. Conclusions: Our survey results show that end users do indeed reuse program variants and suggest that understanding the differences between variants is important. Further, end users prefer running code and looking at outputs, accessing source code and meta information such as filenames, referring to the creation and update dates of programs, and having information on the authors of code. When selecting variants users prefer to look at their major features such as correctness, similarity and authorship information. End users rely primarily on memory to track changes. They seldom make use of online or configuration management tools. Hence, integrated domain-specific variation management tools like AppInventorHelper can significantly help improve users' interactions with the system. A key contribution of our work is a set of design requirements for end-user programming environments that facilitate the management and understanding of the provenance of program variants.}, journal={Information and Software Technology}, publisher={Elsevier BV}, author={Kuttal, Sandeep Kaur and Sarma, Anita and Rothermel, Gregg and Wang, Zhendong}, year={2018}, month={Nov}, pages={55–74} } @article{jernigan_horvath_lee_burnett_cuilty_kuttal_peters_kwan_bahmani_ko_et al._2017, title={General principles for a Generalized Idea Garden}, volume={39}, ISSN={1045-926X}, url={http://dx.doi.org/10.1016/j.jvlc.2017.04.005}, DOI={10.1016/j.jvlc.2017.04.005}, abstractNote={Many systems are designed to help novices who want to learn programming, but few support those who are not necessarily interested in learning programming. This paper targets the subset of end-user programmers (EUPs) in this category. We present a set of principles on how to help EUPs like this learn just a little when they need to overcome a barrier. We then instantiate the principles in a prototype and empirically investigate them in three studies: a formative think-aloud study, a pair of summer camps attended by 42 teens, and a third summer camp study featuring a different environment attended by 48 teens. Finally, we present a generalized architecture to facilitate the inclusion of Idea Gardens into other systems, illustrating with examples from Idea Garden prototypes. Results have been very encouraging. For example, under our principles, Study #2’s camp participants required significantly less in-person help than in a previous camp to learn the same amount of material in the same amount of time.}, journal={Journal of Visual Languages & Computing}, publisher={Elsevier BV}, author={Jernigan, William and Horvath, Amber and Lee, Michael and Burnett, Margaret and Cuilty, Taylor and Kuttal, Sandeep and Peters, Anicia and Kwan, Irwin and Bahmani, Faezeh and Ko, Amy and et al.}, year={2017}, month={Apr}, pages={51–65} } @misc{srinivasa ragavan_kuttal_hill_sarma_piorkowski_burnett_2016, title={Foraging Among an Overabundance of Similar Variants}, url={http://dx.doi.org/10.1145/2858036.2858469}, DOI={10.1145/2858036.2858469}, abstractNote={Foraging among too many variants of the same artifact can be problematic when many of these variants are similar. This situation, which is largely overlooked in the literature, is commonplace in several types of creative tasks, one of which is exploratory programming. In this paper, we investigate how novice programmers forage through similar variants. Based on our results, we propose a refinement to Information Foraging Theory (IFT) to include constructs about variation foraging behavior, and propose refinements to computational models of IFT to better account for foraging among variants.}, journal={Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems}, publisher={ACM}, author={Srinivasa Ragavan, Sruti and Kuttal, Sandeep Kaur and Hill, Charles and Sarma, Anita and Piorkowski, David and Burnett, Margaret}, year={2016}, month={May} } @misc{sarma_chen_kuttal_dabbish_wang_2016, title={Hiring in the Global Stage: Profiles of Online Contributions}, url={http://dx.doi.org/10.1109/icgse.2016.35}, DOI={10.1109/icgse.2016.35}, abstractNote={Managers are increasingly using online contributions to make hiring decisions. However, it is nontrivial to find the relevant information of candidates in large online, global communities. We present Visual Resume, a novel tool that aggregates information on contributions across two different types of peer production sites (a code hosting site and a technical Q&A forum). Visual Resume displays summaries of developers' contributions, and allows easy access to contribution details. It also facilitates pairwise comparisons of candidates through a card-based design. Our study, involving participants from global organizations or corporations that draw from the global community, indicates that Visual Resume facilitated hiring decisions, both technical and soft skills were important when making these decisions.}, journal={2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)}, publisher={IEEE}, author={Sarma, Anita and Chen, Xiaofan and Kuttal, Sandeep and Dabbish, Laura and Wang, Zhendong}, year={2016}, month={Aug} } @misc{martos_kim_kuttal_2016, title={Reuse of variants in online repositories: Foraging for the fittest}, url={http://dx.doi.org/10.1109/vlhcc.2016.7739674}, DOI={10.1109/vlhcc.2016.7739674}, abstractNote={Programming is a creative task and is generally exploratory in nature. Often, end-user programmers (non-professional) indulge in opportunistically creating their programs. To facilitate learning and reuse of code, most end-user programming environments provides online repositories. While the provision of programs in repositories helps support end-user programming to an extent, finding and reusing an appropriate program variant is a challenging task. In this paper, we explore the reuse behavior of end-user programmers using Information Foraging Theory. We conducted an empirical study of eight end-user programmers, qualitatively analyzed their information-seeking behavior while reusing program variants, and report new cue types and strategies specific to end-user programmers.}, journal={2016 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Martos, Carlos and Kim, Se Yeon and Kuttal, Sandeep Kaur}, year={2016}, month={Sep} } @inproceedings{jernigan_horvath_cuilty_burnett_lee_kuttal_peters_kwan_bahmani_ko_2015, title={A principled evaluation for a principled idea garden}, DOI={10.1109/VLHCC.2015.7357222}, abstractNote={Many systems are designed to help novices who want to learn programming, but few support those who are not interested in learning (more) programming. This paper targets the subset of end-user programmers (EUPs) in this category. We present a set of principles on how to help EUPs like this learn just a little when they need to overcome a barrier. We then instantiate the principles in a prototype and empirically investigate the principles in two studies: a formative think-aloud study and a pair of summer camps attended by 42 teens. Among the surprising results were the complementary roles of implicitly actionable hints versus explicitly actionable hints, and the importance of both context-free and context-sensitive availability. Under these principles, the camp participants required significantly less in-person help than in a previous camp to learn the same amount of material in the same amount of time.}, booktitle={Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing}, author={Jernigan, W. and Horvath, A. and Cuilty, T. and Burnett, M. and Lee, M. and Kuttal, S. and Peters, A. and Kwan, I. and Bahmani, F. and Ko, A.}, year={2015}, pages={235–243} } @article{kuttal_sarma_rothermel_2014, title={On the benefits of providing versioning support for end users}, volume={21}, ISSN={1073-0516 1557-7325}, url={http://dx.doi.org/10.1145/2560016}, DOI={10.1145/2560016}, abstractNote={End users with little formal programming background are creating software in many different forms, including spreadsheets, web macros, and web mashups. Web mashups are particularly popular because they are relatively easy to create, and because many programming environments that support their creation are available. These programming environments, however, provide no support for tracking versions or provenance of mashups. We believe that versioning support can help end users create, understand, and debug mashups. To investigate this belief, we have added versioning support to a popular wire-oriented mashup environment, Yahoo! Pipes. Our enhanced environment, which we call “Pipes Plumber,” automatically retains versions of pipes and provides an interface with which pipe programmers can browse histories of pipes and retrieve specific versions. We have conducted two studies of this environment: an exploratory study and a larger controlled experiment. Our results provide evidence that versioning helps pipe programmers create and debug mashups. Subsequent qualitative results provide further insights into the barriers faced by pipe programmers, the support for reuse provided by our approach, and the support for debugging provided.}, number={2}, journal={ACM Transactions on Computer-Human Interaction}, publisher={Association for Computing Machinery (ACM)}, author={Kuttal, Sandeep K. and Sarma, Anita and Rothermel, Gregg}, year={2014}, month={Feb}, pages={1–43} } @misc{kuttal_sarma_rothermel_2013, title={Debugging support for end user mashup programming}, url={http://dx.doi.org/10.1145/2470654.2466213}, DOI={10.1145/2470654.2466213}, abstractNote={Programming for the web can be an intimidating task, particularly for non-professional ("end-user") programmers. Mashup programming environments attempt to remedy this by providing support for such programming. It is well known, however, that mashup programmers create applications that contain bugs. Furthermore, mashup programmers learn from examples and reuse other mashups, which causes bugs to propagate to other mashups. In this paper we classify the bugs that occur in a large corpus of Yahoo! Pipes mashups. We describe support we have implemented in the Yahoo! Pipes environment to provide automatic error detection techniques that help mashup programmers localize and correct these bugs. We present the results of a think-aloud study comparing the experiences of end-user mashup programmers using and not using our support. Our results show that our debugging enhancements do help these programmers localize and correct bugs more effectively and efficiently.}, journal={Proceedings of the SIGCHI Conference on Human Factors in Computing Systems}, publisher={ACM}, author={Kuttal, Sandeep Kaur and Sarma, Anita and Rothermel, Gregg}, year={2013}, month={Apr} } @misc{kuttal_sarma_rothermel_2013, title={Predator behavior in the wild web world of bugs: An information foraging theory perspective}, url={http://dx.doi.org/10.1109/vlhcc.2013.6645244}, DOI={10.1109/vlhcc.2013.6645244}, abstractNote={Web active end users often coalesce web information using web mashups. Web contents, however, tend to evolve frequently, and along with the black box nature of visual languages this complicates the process of debugging mashups. While debugging, end users need to locate faults within the code and then find a way to correct them; this process requires them to seek information related to web page content and behavior. In this paper, using an information foraging theory lens, we qualitatively study the debugging behaviors of 16 web-active end users. Our results show that the stronger scents available within mashup programming environments can improve users' foraging success. Our results lead to a new model for debugging activities framed in terms of information foraging theory, and to a better understanding of ways in which end-user programming environments can be enhanced to better support debugging.}, journal={2013 IEEE Symposium on Visual Languages and Human Centric Computing}, publisher={IEEE}, author={Kuttal, Sandeep Kaur and Sarma, Anita and Rothermel, Gregg}, year={2013}, month={Sep} } @misc{kuttal_2013, title={Variation support for end users}, url={http://dx.doi.org/10.1109/vlhcc.2013.6645276}, DOI={10.1109/vlhcc.2013.6645276}, abstractNote={End-user programming environments provide central repositories where users can execute and store their programs. However, these environments do not provide facilities by which users can keep track of the variations that they create for their programs. In the professional world, software developers use variation management for code reuse, program understanding, change traceability, debugging and maintenance.}, journal={2013 IEEE Symposium on Visual Languages and Human Centric Computing}, publisher={IEEE}, author={Kuttal, Sandeep Kaur}, year={2013}, month={Sep} } @misc{kuttal_sarma_rothermel_2011, title={History repeats itself more easily when you log it: Versioning for mashups}, url={http://dx.doi.org/10.1109/vlhcc.2011.6070381}, DOI={10.1109/vlhcc.2011.6070381}, abstractNote={Web mashup environments provide a way for users to combine data from web applications and services to create new content. Currently, these environments do not provide support for tracking the development histories of mashups. We have thus added configuration management support to the Yahoo! Pipes mashup environment. We describe this support, and provide results of an experiment studying the ability of programmers to create and debug mashups in its presence. Our results show that versioning support can help both groups of users do both tasks better.}, journal={2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)}, publisher={IEEE}, author={Kuttal, S. K. and Sarma, A. and Rothermel, G.}, year={2011}, month={Sep} } @misc{kuttal_sarma_swearngin_rothermel_2011, title={Versioning for Mashups – An Exploratory Study}, ISBN={9783642215292 9783642215308}, ISSN={0302-9743 1611-3349}, url={http://dx.doi.org/10.1007/978-3-642-21530-8_4}, DOI={10.1007/978-3-642-21530-8_4}, abstractNote={End users with little software background are developing numerous software applications using devices such as spreadsheets, web mashups, and web macros. Web mashups are particularly popular because they are easy to create and there are large public repositories that store them and allow their reuse. Existing repositories, however, provide no functionality for tracking the development histories of mashups. We believe that versioning capabilities can help end users develop, understand, and reuse mashups. To investigate this belief, we created a versioning extension for Yahoo! Pipes – a popular mashup environment – and conducted an exploratory study of users utilizing the environment. Our results show that versioning information allows users to perform mashup creation tasks more correctly and in less time than users not having that information, while also improving the reusability of pipes.}, journal={End-User Development}, publisher={Springer Berlin Heidelberg}, author={Kuttal, Sandeep Kaur and Sarma, Anita and Swearngin, Amanda and Rothermel, Gregg}, year={2011}, pages={25–41} }