CiFi: Versatile Analysis of Class and Field Immutability
Abstract
This paper was accepted in 2021 at the 36th IEEE/ACM International Conference on Automated Software Engineering and proposes a model for immutability analysis. Reasoning about immutability is important for preventing bugs, e.g., in multi-threaded software. Static analysis to infer immutability properties has mostly focused on individual objects and references. Reasoning about fields and entire classes, while significantly simpler, has gained less attention. A consistently used terminology is missing, which makes it difficult to implement analyses that rely on immutability information. We propose a model for class and field immutability that unifies terminology for immutability flavors considered by previous work and covers new levels of immutability to handle lazy initialization and immutability dependent on generic type parameters. Using the OPAL static analysis framework, we implement CiFi, a set of modular, collaborating analyses for different flavors of immutability, inferring the properties defined in our model. We propose a benchmark of representative test cases for class and field immutability. We use the benchmark to showcase CiFi's precision and recall in comparison to state of the art and use CiFi to study the prevalence of immutability in real-world libraries, showcasing the practical quality and relevance of our model.
- Citation
- BibTeX
Roth, T., Helm, D., Reif, M. & Mezini, M.,
(2022).
CiFi: Versatile Analysis of Class and Field Immutability.
In:
Grunske, L., Siegmund, J. & Vogelsang, A.
(Hrsg.),
Software Engineering 2022.
Bonn:
Gesellschaft für Informatik e.V..
(S. 81-82).
DOI: 10.18420/se2022-ws-027
@inproceedings{mci/Roth2022,
author = {Roth, Tobias AND Helm, Dominik AND Reif, Michael AND Mezini, Mira},
title = {CiFi: Versatile Analysis of Class and Field Immutability},
booktitle = {Software Engineering 2022},
year = {2022},
editor = {Grunske, Lars AND Siegmund, Janet AND Vogelsang, Andreas} ,
pages = { 81-82 } ,
doi = { 10.18420/se2022-ws-027 },
publisher = {Gesellschaft für Informatik e.V.},
address = {Bonn}
}
author = {Roth, Tobias AND Helm, Dominik AND Reif, Michael AND Mezini, Mira},
title = {CiFi: Versatile Analysis of Class and Field Immutability},
booktitle = {Software Engineering 2022},
year = {2022},
editor = {Grunske, Lars AND Siegmund, Janet AND Vogelsang, Andreas} ,
pages = { 81-82 } ,
doi = { 10.18420/se2022-ws-027 },
publisher = {Gesellschaft für Informatik e.V.},
address = {Bonn}
}
Sollte hier kein Volltext (PDF) verlinkt sein, dann kann es sein, dass dieser aus verschiedenen Gruenden (z.B. Lizenzen oder Copyright) nur in einer anderen Digital Library verfuegbar ist. Versuchen Sie in diesem Fall einen Zugriff ueber die verlinkte DOI: 10.18420/se2022-ws-027
Haben Sie fehlerhafte Angaben entdeckt? Sagen Sie uns Bescheid: Send Feedback
More Info
ISBN: 978-3-88579-714-2
ISSN: 1617-5468
xmlui.MetaDataDisplay.field.date: 2022
Language: (en)
Content Type: Text/Conference Paper