Many applications in software analysis, testing and verification call for tools that analyze the immutability of objects. An immutability analysis boils down to answering the question: given code C and reference R, is the object O referenced by R mutated in the code C?. The immutability benchmark was created to rigorously tests the relative accuracy boundaries (classes of inputs for which the tool cannot be guaranteed to report accurate results) of different approaches to immutability analysis. In the spirit of soundiness, the immutability benchmark helps to reveal the necessary tradeoffs that tool designers often must make between accuracy and scalability.

Benchmark Design Features

Source Code

Want additional resources? Grab a copy of the source.