Reasoning on immutability is important for preventing bugs, e.g., in multi-threaded software. So far, 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. Even 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. We implement CiFi, a set of modular, collaborating analyses for different flavors of immutability, inferring the properties defined in our model and 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.
Thu 18 NovDisplayed time zone: Hobart change
22:00 - 23:00 | |||
22:00 20mTalk | Binary Diffing as a Network Alignment Problem via Belief Propagation Research Papers Elie Mengin SAMM, EA 4543 - Université Paris 1 Panthéon-Sorbonne, Fabrice Rossi CEREMADE, CNRS, UMR 7534 - Université Paris-Dauphine, PSL University | ||
22:20 20mTalk | CiFi: Versatile Analysis of Class and Field Immutability Research Papers Tobias Roth Technische Universität Darmstadt, Dominik Helm Technische Universität Darmstadt, Michael Reif Technische Universität Darmstadt, Mira Mezini Technische Universität Darmstadt | ||
22:40 10mTalk | Assessing Robustness of ML-Based Program Analysis Tools using Metamorphic Program Transformations NIER track Leonhard Applis Delft University of Technology, Annibale Panichella Delft University of Technology, Arie van Deursen Delft University of Technology, Netherlands Pre-print | ||
22:50 10mTalk | Defeating program analysis techniques via Ambiguous Translation NIER track Chijung Jung University of Virginia, Doowon Kim University of Tennessee, Knoxville, Weihang Wang University at Buffalo, SUNY, Yunhui Zheng IBM Research, Kyu Hyung Lee University of Georgia, Yonghwi Kwon University of Virginia |