Introducing e2immu

Posted April 1, 2021 by Bart Naudts ‐ 2 min read

Introducing e2immu, a static code analyser for Java focusing on modification and immutability.

Hello there! After 16 months of near full-time development, I’m proud to announce that e2immu is now public on GitHub as an open source project.

e2immu is a static code analyser for Java. There’s a few analysers around already, but this one focuses strongly on modification and immutability: determining when and where the data of an object gets modified, and ensuring that, after some initialisation phase, the content of certain objects can never be changed again.

I’m releasing the software before the analyser is fully operational. Why? Because making a static code analyser, stable and augmented with all necessary surrounding plugins and documentation, is a lot of work. I can do with some help!

All the concepts for effective and eventual immutability are stable and sound. There should already be sufficient documentation and examples for you to understand what I want to achieve with this analyser: helping software engineers keep an eye on the life cycle of the objects in their code.

The analyser’s design is stable, and it is able to chew over 250 code snippets. But there are many gaps left, not enough tests, and too many situations that cause it to crash. With your help, we can make a first generally usable version of this new static code analyser available by the end of 2021!