ECOOP 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024
Tue 17 Sep 2024 11:30 - 11:45 at EI 7 - Design Chair(s): Elisa Gonzalez Boix

Many object-oriented applications in algorithm design rely on objects never changing during their lifetime. This is often tackled by marking object references as read-only, e.g., using the const keyword in C++. In other languages like Python or Java where such a concept does not exist, programmers rely on best practices that are entirely unenforced. While reliance on best practices is obviously too permissive, const-checking is too restrictive: it is possible for a method to mutate the internal state while still satisfying the property we expect from an ``immutable'' object in this setting. We would therefore like to enforce the immutability of an object’s abstract state.

We check an object’s immutability through a view of its abstract state: for instances of an immutable class, the view does not change when running any of the class’s methods, even if some of the internal state does change. If all methods of a class are verified as non-mutating, we can deem the entire class view-immutable. We present an SMT-based algorithm to check view-immutability, and implement it in our linter/verifier, Constrictor.

We evaluate Constrictor on 51 examples of immutability-related design violations. Our evaluation shows that Constrictor is effective at catching a variety of prototypical design violations, and does so in seconds. We also explore Constrictor with two real-world case studies.

Tue 17 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 12:00
DesignTechnical Papers at EI 7
Chair(s): Elisa Gonzalez Boix Vrije Universiteit Brussel
10:30
15m
Talk
Defining Name Accessibility using Scope Graphs
Technical Papers
Aron Zwaan Delft University of Technology, Casper Bach Poulsen Delft University of Technology
Link to publication Pre-print
10:45
15m
Talk
Rose: Composable Autodiff for the Interactive Web
Technical Papers
Sam Estep Carnegie Mellon University, Wode Ni Carnegie Mellon University, Raven Rothkopf Barnard College, Joshua Sunshine Carnegie Mellon University
11:00
15m
Talk
Failure Transparency in Stateful Dataflow Systems
Technical Papers
Aleksey Veresov KTH Royal Institute of Technology, Jonas Spenger KTH Royal Institute of Technology, Paris Carbone KTH Royal Institute of Technology, Philipp Haller KTH Royal Institute of Technology
DOI Pre-print Media Attached File Attached
11:15
15m
Talk
Fair join pattern matching for actors
Technical Papers
Philipp Haller KTH Royal Institute of Technology, Ayman Hussein Technical University of Denmark, Hernan Melgratti University of Buenos Aires, Argentina, Alceste Scalas Technical University of Denmark, Emilio Tuosto Gran Sasso Science Institute, L'Aquila, Italy
DOI
11:30
15m
Talk
Constrictor: Immutability as a Design Concept
Technical Papers
Elad Kinsbruner Technion, Shachar Itzhaky Technion, Hila Peleg Technion
DOI Pre-print
11:45
15m
Talk
A Language-Based Version Control System for Python
Technical Papers
Luís Carvalho NOVA School of Science and Technology, João Costa Seco NOVA-LINCS; Nova University of Lisbon

Information for Participants
Tue 17 Sep 2024 10:30 - 12:00 at EI 7 - Design Chair(s): Elisa Gonzalez Boix
Info for room EI 7:

Map: https://tuw-maps.tuwien.ac.at/?q=CDEG13

Room tech: https://raumkatalog.tiss.tuwien.ac.at/room/15417