Do Developers Discover New Tools On The Toilet?

  title={Do Developers Discover New Tools On The Toilet?},
  author={Emerson R. Murphy-Hill and Edward K. Smith and Caitlin Sadowski and Ciera Jaspan and Collin Winter and Matthew Jorde and Andrea Knight and Andrew Trenk and Steve Gross},
  journal={2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)},
Maintaining awareness of useful tools is a substantial challenge for developers. Physical newsletters are a simple technique to inform developers about tools. In this paper, we evaluate such a technique, called Testing on the Toilet, by performing a mixed-methods case study. We first quantitatively evaluate how effective this technique is by applying statistical causal inference over six years of data about tools used by thousands of developers. We then qualitatively contextualize these results… 

Figures and Tables from this paper

Heard it through the Gitvine: an empirical study of tool diffusion across the npm ecosystem
The results show that factors such as social exposure, competition, and observability affect the adoption of tools significantly, and they provide a roadmap for software engineers and researchers seeking to propagate best practices and tools.
IDE Interaction Support With Command Recommender Systems
A long-term user study shows that IDE command recommendation must be presented with adequate descriptions of the commands and good usage examples, and it seems that a higher frequency of recommendation notifications could be useful, but it should not be too intrusive.
The Sound of Silence: Mining Security Vulnerabilities from Secret Integration Channels in Open-Source Projects
This work presents a data-mining based approach to detect code fragments that arise from such infringements of the standard process that open additional possibilities to uncover such changes that thwart the very premise of established responsible disclosure approaches.
Quality Gatekeepers: Investigating the Effects ofCode Review Bots on Pull Request Activities
This work investigates how several activity indicators change after the adoption of a code review bot and employs a regression discontinuity design on 1,194 software projects from GitHub to understand and predict bot effects on their projects.
Understanding and Improving Artifact Sharing in Software Engineering Research
A mixed-methods study including a publication analysis and online survey of 153 software engineering researchers identifies several high-level challenges that affect the quality of artifacts including mismatched expectations between these groups, and a lack of sufficient reward for both creators and reviewers.


How Do Users Discover New Tools in Software Development and Beyond?
It is found that social learning of software tools, while sometimes effective, is infrequent; software users appear to discover tools from peers only once every few months.
Build It Yourself! Homegrown Tools in a Large Software Company
Findings on the extrinsic and intrinsic factors linked to toolbuilding, the value of building tools, and the factors associated with tool spread are presented.
Improving software developers' fluency by recommending development environment commands
It is suggested that, while recommendation is more difficult in development environments than in other domains, it is still feasible to automatically recommend commands to developers based on their usage history, and that using patterns of past discovery is a useful way to do so.
Peer interaction effectively, yet infrequently, enables programmers to discover new tools
It is described that discovery from peers can be enhanced by improving programmers' ability to communicate openly and concisely about tools, and that programmers can effectively discover tools from their peers both in a co-located and remote settings.
A survey of software learnability: metrics, methodologies and guidelines
A survey of the previous definitions, metrics, and evaluation methodologies for software learnability leads to a new question-suggestion protocol, which was shown to expose a significantly higher number of learnability issues in comparison to a more traditional think-aloud protocol.
Improving program navigation with an active help system
An active help system that suggests tools to aid program navigation as a developer works, called Spyglass, is introduced and it is found that with Spyglass it could make developers as aware of navigational tools as they are when requested to read a tutorial about such tools, with less up-front effort.
Community help: discovering tools and locating experts in a dynamic environment
  • C. Maltzahn
  • Computer Science
    CHI 95 Conference Companion
  • 1995
An architecture to a community sensitive help system which actively collects information about Unix tools by tapping into accounting information generated by the operating system and by interviewing users that are selected on the basis of collected information is presented.
Advantages and Disadvantages of a Monolithic Repository: A Case Study at Google
  • Ciera Jaspan, M. Jorde, E. Murphy-Hill
  • Computer Science
    2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP)
  • 2017
This study finds that the visibility of the codebase is a significant advantage of a monolithic repo: it enables engineers to discover APIs to reuse, find examples for using an API, and automatically have dependent code updated as an API migrates to a new version.
Designing refactoring tools for developers
This paper presents three primary issues that plague refactoring tools and presents the approach to solving these issues in a commercial add-in for Microsoft Visual Studio.
Quantifying developers' adoption of security tools
Developers who perceive security to be important are more likely to use security tools than those who do not, and developers' ability to observe their peers using security tools is the strongest predictor of security tool use.