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.
Tue 16 NovDisplayed time zone: Hobart change
23:00 - 00:00 | Artefacts Plenary (Any Day Band 2)Artifact Evaluation at Kangaroo Chair(s): Aldeida Aleti Monash University, Tim Menzies North Carolina State University | ||
23:00 5mDay opening | Opening Artifact Evaluation | ||
23:05 7mKeynote | Keynote Artifact Evaluation Dirk Beyer LMU Munich, Germany | ||
23:12 3mTalk | CiFi: Versatile Analysis of Class and Field Immutability Artifact Evaluation Tobias Roth Technische Universität Darmstadt, Dominik Helm Technische Universität Darmstadt, Michael Reif Technische Universität Darmstadt, Mira Mezini Technische Universität Darmstadt | ||
23:15 3mTalk | Testing Your Question Answering Software via Asking Recursively Artifact Evaluation Songqiang Chen School of Computer Science, Wuhan University, Shuo Jin School of Computer Science, Wuhan University, Xiaoyuan Xie School of Computer Science, Wuhan University, China | ||
23:18 3mTalk | Restoring the Executability of Jupyter Notebooks by Automatic Upgrade of Deprecated APIs Artifact Evaluation Chenguang Zhu University of Texas at Austin, Ripon Saha Fujitsu Laboratories of America, Inc., Mukul Prasad Fujitsu Research of America, Sarfraz Khurshid The University of Texas at Austin | ||
23:21 3mTalk | Context Debloating for Object-Sensitive Pointer Analysis Artifact Evaluation | ||
23:24 3mTalk | Understanding and Detecting Performance Bugs in Markdown Compilers Artifact Evaluation Penghui Li The Chinese University of Hong Kong, Yinxi Liu The Chinese University of Hong Kong, Wei Meng Chinese University of Hong Kong | ||
23:27 5mProduct release | Reuse graphs Artifact Evaluation | ||
23:32 10mTalk | Most reused artefacts Artifact Evaluation | ||
23:42 18mLive Q&A | Discussion Artifact Evaluation |