Over time, Open Source Software (OSS) has become indispensable in the creation and upkeep of software products, serving as the fundamental building block for widely used solutions in our daily lives, including applications that enable communication, entertainment, and productivity. A sustainable OSS ecosystem is one that attracts and retains a...
Developers spend a considerable amount of time comprehending code and building accurate mental models of the code. Understanding the relationships between software features within IDEs is difficult, with information split across different visual hierarchies making navigation cumbersome. Canvas-based IDEs mitigate some of the navigation costs by allowing relevant information to...
Programming is integrated across the workflow of multiple domains where end-user programmers, those who need to program as a means to an end, regularly need to code. In the modern setting of collaborative development, end-user programmers have to interpret the intentions behind existing code to contribute and build solutions to...
Distributed version control allows developers to manage software evolution among distributed development teams. But it does not eliminate all consistency and concurrency issues, and instead introduces additional complexity when merging code. And resolving merge conflicts is nontrivial when automated merging fails. In such cases, developers are forced to inspect the...
Newcomers’ seamless onboarding is important for open collaboration communi- ties, particularly those that leverage outsiders’ contributions to remain sustainable. Nevertheless, previous work shows that OSS newcomers often face several barriers to contribute, which lead them to lose motivation and even give up on contributing. A well-known way to help newcomers...
Smart home devices are becoming increasingly popular and by 2021, it is estimated to have 80 million devices in the households of the U.S. The privacy and security threats involved with devices, as a result, are also scaling up in recent years. Smart home cameras have been hacked, private conversations...
Emerging research shows that individual differences in how people use technology sometimes cluster by socioeconomic status (SES) and that when technology is not socioeconomically inclusive, low-SES individuals may abandon it. To understand how to improve technology’s SES-inclusivity, we present a multi-phase case study on SocioEconomicMag (SESMag), an emerging inspection method...
Merge conflicts have long plagued software development. With larger and more dispersed teams comes greater risk of developers working on the same code at the same time. While merge conflicts are known to be painful, their exact impact on software is still largely unknown. Are merge conflicts an isolated problem,...