Sign inSubmit
computersciencejournal.org is not ours. This journal is published only at thescipub.com/jcs. Report a suspicious emailcomputersciencejournal.org is not ours · Report
ArticleMetrics
Research Article · Open access · Published 23 August 2016

Abstract Interpretation of Java Bytecode for Immutability Analysis

Oliver Haase1

Journal of Computer Science, Volume 12, Issue 7, pp. 314–322 · doi.org/10.3844/jcssp.2016.314.322

7,548 accesses4,869 downloads0 citations (Crossref)Metrics
Cite Check for updates

Abstract

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.

Licence and reuse

Open access. This article is licensed under a Creative Commons Attribution 3.0 Licence (CC BY 3.0), as printed on the article, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original authors and the source. No permission is needed.

How to reuse this article

Responses (0)

Have a comment on this research? Sign in to respond. Responses are moderated and published with your name and affiliation; the authors are invited to reply. How we use your dataWrite a response

About this article

Cite this article

Haase, O. (2016). Abstract Interpretation of Java Bytecode for Immutability Analysis. Journal of Computer Science, 12(7), 314–322. https://doi.org/10.3844/jcssp.2016.314.322

Licence
CC BY 3.0
Issue
Volume 12, Issue 7
Policies
Editorial independenceUse of generative AIData availabilityAppeals and complaints
Version
Version of record
Abstract Interpretation of Java Bytecode for Immutability AnalysisJournal of Computer Science · Volume 12, Issue 7 · pp. 314–322 · CC BY 3.0Download