Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia
Thu 18 May 2023 14:15 - 14:30 at Meeting Room 103 - Programming languages Chair(s): Jean-Guy Schneider
Thu 18 May 2023 15:24 - 15:26 at Meeting Room 105 - Posters 2

Developers want to detect bugs as early in the development lifecycle as possible, as the effort and cost to fix them increases with the incremental development of features. Ultimately, bugs that are only found in production can have catastrophic consequences.

Type systems are effective at detecting many classes of bugs during development, often providing immediate feedback both at compile-time and while typing due to editor integration. Unfortunately, more powerful static and dynamic analysis tools do not have the same success due to providing false positives, not being immediate or not being integrated into the language.

Liquid Types extend the language type system with predicates, augmenting the classes of bugs that the compiler or IDE can catch compared to the simpler type systems available in mainstream programming languages. However, while Liquid Types were proposed in 2008 with their integration in ML and subsequently introduced in C (2012), Javascript (2012) and Haskell (2014) through language extensions, they have yet to become widely adopted by mainstream developers. This paper investigates how Liquid Types can be integrated into a mainstream programming language, Java, by proposing a new design that aims to lower the barriers to entry and adapts to problems that Java developers commonly encounter at runtime. Following a participatory design methodology, we conducted a series of developer surveys to design the syntax of LiquidJava, our prototype.

To evaluate if the added effort to write Liquid Types in Java would convince users to adopt them, we conducted a user study with 30 Java developers. The results show that LiquidJava helped users detect and fix more bugs, and that Liquid Types are easy to interpret and learn with few resources. At the end of the study, all users reported interest in adopting LiquidJava for their projects.

Thu 18 May

Displayed time zone: Hobart change

13:45 - 15:15
13:45
15m
Talk
Demystifying Issues, Challenges, and Solutions for Multilingual Software Development
Technical Track
Haoran Yang Washington State University, Weile Lian Washington State University, Shaowei Wang University of Manitoba, Haipeng Cai Washington State University
Pre-print
14:00
15m
Talk
Testability Refactoring in Pull Requests: Patterns and Trends
Technical Track
Pavel Reich University of Hamburg, Walid Maalej University of Hamburg
Pre-print
14:15
15m
Talk
Usability-Oriented Design of Liquid Types for Java
Technical Track
Catarina Gamboa CMU and LASIGE, Paulo Canelas Carnegie Mellon University, Christopher Steven Timperley Carnegie Mellon University, Alcides Fonseca University of Lisbon
DOI
14:30
15m
Talk
A Theorem Proving Approach to Programming Language Semantics
SEET - Software Engineering Education and Training
Subhajit Roy IIT Kanpur
14:45
7m
Talk
RIdiom: Automatically Refactoring Non-idiomatic Python Code with Pythonic Idioms
DEMO - Demonstrations
zejun zhang Australian National University, Zhenchang Xing CSIRO’s Data61; Australian National University, Xiwei (Sherry) Xu CSIRO’s Data61, Liming Zhu CSIRO’s Data61
14:52
7m
Talk
An Empirical Study of Data Constraint Implementations in Java
Journal-First Papers
Juan Manuel Florez CQSE America, Laura Moreno CQSE America, Zenong Zhang The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas, Andrian Marcus University of Texas at Dallas
14:59
7m
Talk
Learning To Predict User-Defined Types
Journal-First Papers
Kevin Jesse University of California at Davis, USA, Prem Devanbu University of California at Davis, Anand Ashok Sawant University of California, Davis
15:15 - 15:45
15:15
2m
Short-paper
Values@Runtime: An Adaptive Framework for Operationalising Values
SEIS - Software Engineering in Society
Amel Bennaceur The Open University, UK, Diane Hassett Lero, University of Limerick, Ireland, Bashar Nuseibeh The Open University, UK; Lero, University of Limerick, Ireland, Andrea Zisman The Open University, UK
15:17
2m
Talk
PExReport: Automatic Creation of Pruned Executable Cross-Project Failure Reports
Technical Track
Sunzhou Huang University of Texas at San Antonio, Xiaoyin Wang University of Texas at San Antonio
Pre-print Media Attached
15:19
2m
Talk
Chronos: Time-Aware Zero-Shot Identification of Libraries from Vulnerability Reports
Technical Track
Yunbo Lyu Singapore Management University, Le-Cong Thanh The University of Melbourne, Hong Jin Kang UCLA, Ratnadira Widyasari Singapore Management University, Singapore, Zhipeng Zhao Singapore Management University, Xuan-Bach D. Le University of Melbourne, Ming Li Nanjing University, David Lo Singapore Management University
Pre-print
15:21
2m
Short-paper
Contradicting Motivations in Civic Tech Software Development: Analysis of a Grassroots Project
SEIS - Software Engineering in Society
Antti Knutas LUT University, Dominik Siemon LUT University, Natasha Tylosky LUT University, Giovanni Maccani Ideas for Change
Pre-print
15:24
2m
Talk
Usability-Oriented Design of Liquid Types for Java
Technical Track
Catarina Gamboa CMU and LASIGE, Paulo Canelas Carnegie Mellon University, Christopher Steven Timperley Carnegie Mellon University, Alcides Fonseca University of Lisbon
DOI
15:26
2m
Talk
When to Say What: Learning to Find Condition-Message Inconsistencies
Technical Track
Islem BOUZENIA University of Stuttgart, Michael Pradel University of Stuttgart
Pre-print
15:31
2m
Poster
GLAD: Neural Predicate Synthesis to Repair Omission Faults
Posters
Sungmin Kang KAIST, Shin Yoo KAIST
15:33
2m
Short-paper
Gender Representation Among Contributors to Open-Source Infrastructure - An Analysis of 20 Package Manager Ecosystems
SEIS - Software Engineering in Society
Huilian Sophie Qiu Carnegie Mellon University, Zihe H Zhao Rice University, Tielin Katy Yu Carnegie Mellon University, Justin Wang Carnegie Mellon University, Alexander Ma Carnegie Mellon University, Hongbo Fang Carnegie Mellon University, Laura Dabbish Carnegie Mellon University, Bogdan Vasilescu Carnegie Mellon University
15:35
2m
Short-paper
Software Engineering for Smart Things in Public Spaces: Initial Insights and Challenges
SEIS - Software Engineering in Society
Amna Batool Deakin University, Seng W.Loke Deakin University, Niroshinie Fernando Deakin University, Jonathan Kua Deakin University
15:38
2m
Short-paper
Workplace Discrimination in Software Engineering: Where We Stand Today
SEIS - Software Engineering in Society
Xin Zhao Seattle University, Riley Young Seattle University
15:40
2m
Talk
A GNN-based Recommender System to Assist the Specification of Metamodels and Models
Showcase
Juri Di Rocco University of L'Aquila, Claudio Di Sipio University of L'Aquila, Davide Di Ruscio University of L'Aquila, Phuong T. Nguyen University of L’Aquila
15:42
2m
Talk
ECSTATIC: An Extensible Framework for Testing and Debugging Configurable Static Analysis
Technical Track
Austin Mordahl University of Texas at Dallas, Zenong Zhang The University of Texas at Dallas, Dakota Soles The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas
Pre-print