GNU Tools Cauldron 2025

GNU Tools Cauldron 2025

Time-traveling through the GCC PR database and testsuite
2025-09-27 , Auditorium B032 (80)

Tasked with identifying safer optimization flags and GCC releases to use,
we've developed techniques to extract information from the PR database
and from the testsuite. We've found that the growing PR density over
time is not intuitively correlated with quality, but that running
"future" torture testsuites with extra optimization flags on "past"
releases can provide useful insights about relevant points of
instability.

Slides at https://www.lx.oliva.nom.br/slides/timetravel.en.pdf


Though higher PRs/quarter, /month, /week, /day could intuitively
correlate with higher instability, we find that it correlates with
stricter scrutiny: it amounts to more eyes collaborating to shake bugs
out, rather than more bugs being introduced. Indeed, PR frequency has
been on the rise, and that correlates with higher rather than lower
stability.

We've resorted to a time-traveling technique to identify (un)safer
optimizations: adding optimization-disabling flags to torture options of
newer testsuites, and running them with older compiler releases, so as
to identify flags that most avoid problems that would only be uncovered
in the future.

Free Software activist and developer. Recognized by the Free Software Foundation with the Award for Advancement of Free Software. GNU Project speaker and advisor. FSF Latin America founding board member, FSF voting member. Co-maintainer of GNU Linux-libre, IRPF-Livre, GNU Compiler Collection, GNU binutils and GNU libc. Independent consultant with AdaCore.

This speaker also appears in: