skip to main content

Title: 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 more » 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. « less
Authors:
; ; ; ;
Award ID(s):
1633437 1901102
Publication Date:
NSF-PAR ID:
10177652
Journal Name:
IEEE transactions on software engineering
ISSN:
2326-3881
Sponsoring Org:
National Science Foundation
More Like this
  1. 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 numbermore »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.« less
  2. The desire to improve and modernize education through educational technology is met with a daunting wall, as educational technologies oftentimes reflect and exacerbate social inequities. This work explores the growth in United States’ educational inequity stemming from the interdependent relationships between education, the digital divide, and social inequities. Diving into three case studies, this paper addresses the privatization consequences that result from the disproportionate funding barriers that schools in marginalized communities face in purchasing Smart Boards, as well as the dangerous impacts of SMART Technologies’ techno-solutionist marketing in worsening educational inequities. In comparison, massive open online courses (MOOCs), which aremore »designed with the goal of improving education equity, appear to circumvent the funding barriers that Smart Boards provide, but fail to address the more tailored educational needs of marginalized communities – ultimately landing at the same fate as that of Smart Boards in worsening educational inequities. Lastly, this paper investigates reading software related to improving education for students with reading issues and blind students. Massively popular and effective in helping these students be more engaged and independent in reading, reading software is overall successful in creating a positive push toward educational equity. However, individual reading software can easily fall to the same failures of Smart Boards and MOOCs in contributing to educational inequity. Although improving educational equity requires a holistic approach, from a technology design standpoint, the following recommendations are made: (a) develop educational technology with the goals of improving education quality and equity, (b) circumvent as many barriers as possible to technology access through technology design, (c) work with marginalized communities to truly understand their needs and create a technology they will use, and (d) continue work toward equitable educational technology.« less
  3. Continuous Integration (CI) services, which can automatically build, test, and deploy software projects, are an invaluable asset in distributed teams, increasing productivity and helping to maintain code quality. Prior work has shown that CI pipelines can be sophisticated, and choosing and configuring a CI system involves tradeoffs. As CI technology matures, new CI tool offerings arise to meet the distinct wants and needs of software teams, as they negotiate a path through these tradeoffs, depending on their context. In this paper, we begin to uncover these nuances, and tell the story of open-source projects falling out of love with Travis,more »the earliest and most popular cloud-based CI system. Using logistic regression, we quantify the effects that open-source community factors and project technical factors have on the rate of Travis abandonment. We find that increased build complexity reduces the chances of abandonment, that larger projects abandon at higher rates, and that a project's dominant language has significant but varying effects. Finally, we find the surprising result that metrics of configuration attempts and knowledge dispersion in the project do not affect the rate of abandonment.« less
  4. 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 ofmore »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.« less
  5. Evidence shows that developer reputation is extremely important when accepting pull requests or resolving reported issues. It is particularly salient in Free/Libre Open Source Software since the developers are distributed around the world, do not work for the same organization and, in most cases, never meet face to face. The existing solutions to expose developer reputation tend to be forge specific (GitHub), focus on activity instead of impact, do not leverage social or technical networks, and do not correct often misspelled developer identities. We aim to remedy this by amalgamating data from all public Git repositories, measuring the impact ofmore »developer work, expose developer's collaborators, and correct notoriously problematic developer identity data. We leverage World of Code (WoC), a collection of an almost complete (and continuously updated) set of Git repositories by first allowing developers to select which of the 34 million(M) Git commit author IDs belong to them and then generating their profiles by treating the selected collection of IDs as that single developer. As a side-effect, these selections serve as a training set for a supervised learning algorithm that merges multiple identity strings belonging to a single individual. As we evaluate the tool and the proposed impact measure, we expect to build on these findings to develop reputation badges that could be associated with pull requests and commits so developers could easier trust and prioritize them.« less