open-source software
An early call to embrace computing and programming in statistical science was issued by John Tukey, who saw such activities as critical to the next generation of developments in statistical data analysis (note: this in was the 1960s). Despite Tukey’s prominence and timely concerns, only a small fraction of the total academic effort in statistics research has been concentrated on developing, extending, or improving standards for statistical programming, computing, and graphics, or on the complementary paradigms of literate programming and literate computing. Cross-talk between statistics and allied quantitative sciences led to further concern about the state of research reproducibility. For example, as lessons learned from their development of Wavelab
, a software toolkit for computational wavelet analysis, a few prominent statisticians bemoaned the lack of availability of scientific software, noting that the “release of software underlying scientific publication is the exception rather than the rule,” while simultaneously pointing out that, with respect to scientific publishing, “the actual scholarship is the complete software development environment and the complete set of instructions which generated the figures” (emphasis added). Fortunately, the emergence and fast-paced growth of the interdisciplinary field of data science have been marked by a renewed and fervent interest in open-source software and reproducible research, including standards for statistical software.
Today, intricate statistical procedures are routinely deployed to rigorously evaluate scientific claims. Open-source statistical software is poised to play a central role in helping to enhance transparency in the scientific discovery process. For such practice to thrive, reliable and user-friendly software must become the norm. Five key characteristics for such software include:
- Clear, easily accessible, highly detailed documentation of all code-derived interfaces and objects, whether developer-oriented or user-facing.
- Rigorous and focused testing to assess programmatic procedures (e.g., functions, classes, methods) and data structures (e.g., the ubiquitous data frame).
- In-depth examples using literate programming documents that blend executable code with prose (e.g., Quarto) or literate computing notebooks that promote the interactive development of computation informed by data (e.g., Jupyter).
- Open source development, embodying an ongoing, continuous, public peer review of the research product.
- Automated monitoring of software quality through continuous integration services, ensuring accessibility across diverse computer systems and architectures.
Equipped with these characteristics, open-source software for statistics can empower the scientific community—and possibly even the public at large—to directly access published results of scientific investigations. Practices for reproducible research in the statistical sciences have been the subject of much discussion; yet, the core aspects of software development continue to be viewed as ancillary activities in most of academia. Recalling an anecdote about Wavelab
, without continued investment in the development and promotion of open-source software standards, “a year [will continue to be] a long time in this business.”
A thread of our work aims to make such occurrences rarer. To that end, we routinely develop open-source software packages and workflows to accompany our contributions to both novel statistical methodology and in applied science investigations, releasing the unrestricted source code for most projects on GitHub. Each software package includes online documentation, a suite of unit tests, and automated quality control via continuous integration checking. Browse a non-exhaustive list of the open-source software packages that members of the lab have developed. Consistent with our views on open-source software development being a core research activity, we publish on our work in this area (see below).
selected publications
Some representative publications appear below. Please consult Google Scholar or a recent CV for a comprehensive list. Below, the names of lab members appear in bold, including those of trainees and of the PI; the names of frequent collaborators are italicized and underlined.