TY - JOUR U1 - Zeitschriftenartikel, wissenschaftlich - begutachtet (reviewed) A1 - Haase, Oliver T1 - Abstract Interpretation of Java Bytecode for Immutability Analysis JF - Journal of Computer Science N2 - Even though immutability is a desirable property, especially in a multi-threaded environment, implementing immutable Java classes is surprisingly hard because of a lack of language support. We present a static analysis tool using abstract bytecode interpretation that checks Java classes for compliance with a set of rules that together constitute state-based immutability. Being realized as a Find Bugs plug in, the tool can easily be integrated into most IDEs and hence the software development process. Our evaluation on a large, real world codebase shows that the average run-time effort for a single class is in the range of a few milliseconds, with only a very few statistical spikes. KW - Immutability KW - Abstract interpretation KW - Bytecode Y1 - 2016 SN - 1549-3636 SS - 1549-3636 SN - 1552-6607 SS - 1552-6607 U6 - https://doi.org/10.3844/jcssp.2016.314.322 DO - https://doi.org/10.3844/jcssp.2016.314.322 VL - 12 IS - 7 SP - 314 EP - 322 ER -