Abstract Software bots have been facilitating several development activities in Open Source Software (OSS) projects, including code review. However, these bots may bring unexpected impacts to group dynamics, as frequently occurs with new technology adoption. Understanding and anticipating such effects is important for planning and management. To analyze these effects, we investigate how several activity indicators change after the adoption of a code review bot. We employed a regression discontinuity design on 1,194 software projects from GitHub. We also interviewed 12 practitioners, including open-source maintainers and contributors. Our results indicate that the adoption of code review bots increases the number of monthly merged pull requests, decreases monthly non-merged pull requests, and decreases communication among developers. From the developers’ perspective, these effects are explained by the transparency and confidence the bot comments introduce, in addition to the changes in the discussion focused on pull requests. Practitioners and maintainers may leverage our results to understand, or even predict, bot effects on their projects.
more »
« less
A Methodology for Analyzing Uptake of Software Technologies Among Developers
Motivation: The question of what combination of attributes drives the adoption of a particular software technology is critical to developers. It determines both those technologies that receive wide support from the community and those which may be abandoned, thus rendering developers' investments worthless. Aim and Context: We model software technology adoption by developers and provide insights on specific technology attributes that are associated with better visibility among alternative technologies. Thus, our findings have practical value for developers seeking to increase the adoption rate of their products. Approach: We leverage social contagion theory and statistical modeling to identify, define, and test empirically measures that are likely to affect software adoption. More specifically, we leverage a large collection of open source repositories to construct a software dependency chain for a specific set of R language source-code files. We formulate logistic regression models, where developers' software library choices are modeled, to investigate the combination of technological attributes that drive adoption among competing data frame (a core concept for a data science languages) implementations in the R language: tidy and data.table. To describe each technology, we quantify key project attributes that might affect adoption (e.g., response times to raised issues, overall deployments, number of open defects, knowledge base) and also characteristics of developers making the selection (performance needs, scale, and their social network). Results: We find that a quick response to raised issues, a larger number of overall deployments, and a larger number of high-score StackExchange questions are associated with higher adoption. Decision makers tend to adopt the technology that is closer to them in the technical dependency network and in author collaborations networks while meeting their performance needs. To gauge the generalizability of the proposed methodology, we investigate the spread of two popular web JavaScript frameworks Angular and React, and discuss the results. Future work: We hope that our methodology encompassing social contagion that captures both rational and irrational preferences and the elucidation of key measures from large collections of version control data provides a general path toward increasing visibility, driving better informed decisions, and producing more sustainable and widely adopted software.
more »
« less
- PAR ID:
- 10177652
- Date Published:
- Journal Name:
- IEEE transactions on software engineering
- ISSN:
- 2326-3881
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Indirect resource exchange (IRE), where individuals share physical items with one another but do not receive direct benefits (e.g. payment), has the potential to increase communities' access to resources, reduce consumption and waste, and bootstrap social ties. Although social technologies could play a key role in realizing this potential, significant barriers have emerged to the adoption of IRE services, including concerns related to trust, reciprocity, and coordination. To explore these issues, we designed and iterated on a concept called ShareBox, a system that enables IRE through a smart lockbox. We developed ShareBox as a technology probe following a set of design guidelines including: creating a physical-virtual system, enabling asynchronous and anonymous exchange, allowing for low-entry-barrier interactions, and emphasizing affordability and flexibility. We explore the benefits and trade-offs of these design guidelines through short deployments and semi-structured interviews with community members, and present findings that highlight both the potential and the remaining challenges of our design.more » « less
-
This study explores factors promoting and inhibiting advanced technology adoption in small- and medium-sized manufacturing firms (SMEs). With AI’s rapid advancement impacting productivity and efficiency across industries, understanding the challenges that SMEs face to remain competitive is crucial. Utilizing the Unified Theory of Acceptance and Use of Technology (UTAUT) model as a theoretical framework, we analyzed managers, engineers, and line workers’ observations on workforce challenges, training needs, and opportunities faced by SMEs to provide insights into their smart manufacturing deployment experiences. Our findings highlight social influence’s role in promoting technology adoption, emphasizing community, shared experiences, and collaborative networks. Conversely, effort expectancy emerged as the largest inhibitor, with concerns about the complexity, time, and resources required for implementation. Individuals were also influenced by factors of facilitating conditions (organizational buy-in, infrastructure, etc.) and performance expectancy on their propensity to adopt advanced technology. By fostering positive organizational environments and communities that share success stories and challenges, we suggest this can mitigate the perceived effort expected to implement new technology. In turn, SMEs can better leverage AI and other advanced technologies to maintain global competitiveness. The research contributes to understanding technology adoption dynamics in manufacturing, providing a foundation for future workforce development and policy initiatives.more » « less
-
Applications often have fast-paced release schedules, but adoption of software dependency updates can lag by years, leaving applications susceptible to security risks and unexpected breakage. To address this problem, we present UPGRADVISOR, a system that reduces developer effort in evaluating dependency updates and can, in many cases, automatically determine which updates are backward-compatible versus API-breaking. UPGRADVISOR introduces a novel co-designed static analysis and dynamic tracing mechanism to gauge the scope and effect of dependency updates on an application. Static analysis prunes changes irrelevant to an application and clusters relevant ones into targets. Dynamic tracing needs to focus only on whether targets affect an application, making it fast and accurate. UPGRADVISOR handles dynamic interpreted languages and introduces call graph over-approximation to account for their lack of type information and selective hardware tracing to capture program execution while ignoring interpreter machinery. We have implemented UPGRADVISOR for Python and evaluated it on 172 dependency updates previously blocked from being adopted in widely-used open-source software, including Django, aws-cli, tfx, and Celery. UPGRADVISOR automatically determined that 56% of dependencies were safe to update and reduced by more than an order of magnitude the number of code changes that needed to be considered by dynamic tracing. Evaluating UPGRADVISOR’s tracer in a production-like environment incurred only 3% overhead on average, making it fast enough to deploy in practice. We submitted safe updates that were previously blocked as pull requests for nine projects, and their developers have already merged most of them.more » « less
-
null (Ed.)Automated tools are frequently used in social coding repositories to perform repetitive activities that are part of the distributed software development process. Recently, GitHub introduced GitHub Actions, a feature providing automated workflows for repository maintainers. Although several Actions have been built and used by practitioners, relatively little has been done to evaluate them. Understanding and anticipating the effects of adopting such kind of technology is important for planning and management. Our research is the first to investigate how developers use Actions and how several activity indicators change after their adoption. Our results indicate that, although only a small subset of repositories adopted GitHub Actions to date, there is a positive perception of the technology. Our findings also indicate that the adoption of GitHub Actions increases the number of monthly rejected pull requests and decreases the monthly number of commits on merged pull requests. These results are especially relevant for practitioners to understand and prevent undesirable effects on their projects.more » « less
An official website of the United States government

