SPLASH 2026
Sun 4 - Fri 9 October 2026 Oakland, California, United States
co-located with SPLASH/ISSTA 2026

This program is tentative and subject to change.

Mon 5 Oct 2026 16:10 - 16:50 at OCC 208 - Session 3

Test driven development (TDD) is a controversial and interesting approach to software development; while many think of better tests'' as a primary \emph{purpose} of TDD, in practice the goal is as much to use tests to encourage continued progress in coding. That goal however rests on the notion that TDD ensures tests are good enough to let you implement small new features and refactor code without undue fear of mistakes. Unfortunately, TDD is notself-enforcing'' and standard TDD practice makes it easy to accidentally skip steps. By integrating a phase of focused mutation testing into TDD, however, developers applying TDD can be sure they are actually writing code that is supported by the scaffolding of tests, and so code in justified confidence. The incremental nature of TDD test and production code creation ensures that at no point will fixing up'' the mutants be likely to overwhelm the developer, and so the final result will be tests with excellent code coverage and mutation score, without a painful effort topatch up'' an inadequate testing effort, and a TDD approach that includes automated checks that the letter and spirit of TDD are truly being respected, with the benefits of TDD presumably following in due course.

This essay uses the idea of MDD (Mutation Driven Development) as a point of departure from which to explore weaknesses in the motivation, dissemination, and evaluation of software engineering research, as a result of well-intentioned quality gatekeeping (and less laudable barriers between ``lanes'' of software engineering research styles).

Alex Groce received his Ph.D. in computer science from Carnegie Mellon University in 2005, and B.S. degrees in computer science and multidisciplinary studies (with a focus on English literature) from North Carolina State University in 1999. He was a core member of the Laboratory for Reliable Software at NASA’s Jet Propulsion Laboratory, and taught classes on software testing at the California Institute of Technology. His activities at JPL included a role as lead developer and designer for test automation for the Mars Science Laboratory mission’s internal flight software test team, and lead roles in testing file systems for space missions. In 2009, he joined the faculty in Computer Science at Oregon State University, and was promoted to Associate Professor in 2015. In 2017, he joined the faculty of the new School of Informatics, Computing, and Cyber Systems (SICCS) at Northern Arizona University, to focus on software testing techniques for ensuring security and reliability of complex systems, especially embedded, scientific, and systems software.

His research interests are in software engineering, particularly testing, model checking, static analysis, automated debugging, and execution understanding. He focuses on software engineering from an “investigative” viewpoint, with an emphasis on the execution traces that programs produce — software engineering as the art and science of building programs with a desired set of executions.

His recent work has focused on software tools, including contributions to the DeepState C/C++ unit testing interface to symbolic execution tools and fuzzers such as AFL and libFuzzer, https://github.com/trailofbits/deepstate, and the development of highly usable open source mutation tools such as universalmutator (https://github.com/agroce/universalmutator) and MuttFuzz (https://github.com/agroce/muttfuzz).

This program is tentative and subject to change.

Mon 5 Oct

Displayed time zone: Pacific Time (US & Canada) change

15:30 - 17:00
15:30
40m
Talk
Objects and classes will do
Onward! Essays
Ole Lehrmann Madsen Aarhus University, Birger Møller-Pedersen University of Oslo
16:10
40m
Talk
(This is Not a Paper About) Mutation Driven Development
Onward! Essays
Alex Groce Northern Arizona University
Hide past events