Suggestion box: open source projects to distill specs from

A few months ago we used Allium to distill specifications for the Apollo 11 guidance computer project. This turned out to be a cool thing to do, because it highlighted a genuine bug in the codebase. I wrote things up in a blog article and told the story in a subsequent talk.

Does anyone have ideas for other open source projects we could apply Allium to? Big or small, old or new, popular languages to 1960s assembly (!).

Writing about what we find might be a good way to build more awareness of Allium, and enable us to contribute high quality issue reports to project maintainers too.

Where should we look next?

I’ve just tried a first cut with the original mainframe assembler for APL. It’s incomplete because I don’t know APL or IBM assembler, but the first slice is impressive, including the use of those funny APL characters. It left 3 open questions it couldn’t answer from the code.

Now I need to find something less obscure.

1 Like

Are your APL experiments pushed anywhere? I’m very curious about the funny characters :slight_smile:

Here are a few (much!) less obscure ideas:

Microsoft’s coreutils
Spring Boot
The JVM
TigerBeetle

You might ask Romily Cocking, he was making his own APL compiler a few months back.

Sharing this project from @yavor.panayotov which has successfully taken a slightly different approach.

Rather than find bugs in the code, Yavor looked for disagreement between the implementation and the documentation across the JDK. He found 15 cases where they diverged, including some nasty ones.

This is the same kind of behaviour we expect from Allium when checking conformance between code, tests and spec, after all, documentation is a kind of spec. Here’s the blog article.