Write a Blog >>
ICSE 2022
Sun 8 - Fri 27 May 2022
Wed 11 May 2022 13:20 - 13:25 at ICSE room 1-odd hours - Programming Languages 3 Chair(s): Emma Söderberg
Thu 12 May 2022 04:25 - 04:30 at ICSE room 5-even hours - Programming Languages 1 Chair(s): Jean-Guy Schneider

Java introduced in version 8 with the Stream API means to operate on collections using lambda expressions. Since then, this API is an alternative way to handle collections in a more declarative manner instead of the traditional, imperative style using loops. However, whether the Stream API in comparison to loops is beneficial in terms of usability is unclear. The present paper introduces a randomized control trial (RCT) on the understandability of collection operations with the dependent variables response time and correctness performed on 20 participants. As tasks, subjects had to determine the results for collection operations (either defined with the Stream API or with loops). The results indicate that the Stream API has a significant (p<.001) and large (η²=.695; M(loop)/{M(stream)=178%) positive effect on the response times. Furthermore, the usage of the Stream API caused significantly less errors. And finally, the participants perceived their speed with the Stream API higher compared to the loop-based code and the participants considered the code based on the Stream API as more aesthetic. Hence, while existing studies found a negative effect of declarative constructs (in terms of lambda expressions) on the usability of a main stream programming language, the present study found the opposite: the present study gives evidence that declarative code on collections using the Stream API based on lambda expressions has a large, positive effect in comparison to traditional loops.

Wed 11 May

Displayed time zone: Eastern Time (US & Canada) change

13:00 - 14:00
13:00
5m
Talk
Grammars for Free: Toward Grammar Inference for Ad Hoc Parsers
NIER - New Ideas and Emerging Results
Michael Schröder TU Wien, Jürgen Cito TU Wien and Meta
Pre-print Media Attached
13:05
5m
Talk
An Asynchronous Call Graph for JavaScript
SEIP - Software Engineering in Practice
Dominik Seifert National Taiwan University, Michael Wan National Taiwan University, Jane Hsu National Taiwan University, Benson Yeh National Taiwan University
DOI Pre-print Media Attached
13:10
5m
Talk
Learning and Programming Challenges of Rust: A Mixed-Methods Study
Technical Track
Shuofei Zhu The Pennsylvania State University, Ziyi Zhang University of Wisconsin–Madison, Boqin Qin China Telecom Cloud Computing Corporation, Aiping Xiong The Pennsylvania State University, Linhai Song Pennsylvania State University, USA
DOI Pre-print Media Attached
13:15
5m
Talk
Towards Bidirectional Live Programming for Incomplete Programs
Technical Track
Xing Zhang Peking University, Zhenjiang Hu Peking University
Pre-print Media Attached
13:20
5m
Talk
Imperative versus Declarative Collection Processing: An RCT on the Understandability of Traditional Loops versus the Stream API in Java
Technical Track
Nils Mehlhorn , Stefan Hanenberg paluno – The Ruhr Institute for Software Technology, University of Duisburg-Essen, Essen
Pre-print Media Attached
13:25
5m
Talk
Garbage Collection Makes Rust Easier to Use: A Randomized Controlled Trial of the Bronze Garbage CollectorNominated for Distinguished Paper
Technical Track
Michael Coblenz University of Maryland at College Park, Michelle Mazurek University of Maryland, Michael Hicks University of Maryland at College Park
DOI Pre-print Media Attached

Thu 12 May

Displayed time zone: Eastern Time (US & Canada) change

04:00 - 05:00
04:00
5m
Talk
Runtime Prevention of Deserialization Attacks
NIER - New Ideas and Emerging Results
François Gauthier Oracle Labs, Sora Bae Oracle Labs, Australia
DOI Pre-print Media Attached
04:05
5m
Talk
Grammars for Free: Toward Grammar Inference for Ad Hoc Parsers
NIER - New Ideas and Emerging Results
Michael Schröder TU Wien, Jürgen Cito TU Wien and Meta
Pre-print Media Attached
04:10
5m
Talk
An Asynchronous Call Graph for JavaScript
SEIP - Software Engineering in Practice
Dominik Seifert National Taiwan University, Michael Wan National Taiwan University, Jane Hsu National Taiwan University, Benson Yeh National Taiwan University
DOI Pre-print Media Attached
04:15
5m
Talk
Lowering Barriers to Application Development With Cloud-Native Domain-Specific Functions
SEIS - Software Engineering in Society
José Miguel Pérez-Álvarez NAVER LABS Europe, Adrian Mos NAVER LABS Europe, Benjamin V. Hanrahan Pennsylvania State University, Iyadunni J. Adenuga Pennsylvania State University
Pre-print Media Attached
04:20
5m
Talk
Towards Bidirectional Live Programming for Incomplete Programs
Technical Track
Xing Zhang Peking University, Zhenjiang Hu Peking University
Pre-print Media Attached
04:25
5m
Talk
Imperative versus Declarative Collection Processing: An RCT on the Understandability of Traditional Loops versus the Stream API in Java
Technical Track
Nils Mehlhorn , Stefan Hanenberg paluno – The Ruhr Institute for Software Technology, University of Duisburg-Essen, Essen
Pre-print Media Attached

Information for Participants
Wed 11 May 2022 13:00 - 14:00 at ICSE room 1-odd hours - Programming Languages 3 Chair(s): Emma Söderberg
Info for room ICSE room 1-odd hours:

Click here to go to the room on Midspace

Thu 12 May 2022 04:00 - 05:00 at ICSE room 5-even hours - Programming Languages 1 Chair(s): Jean-Guy Schneider
Info for room ICSE room 5-even hours:

Click here to go to the room on Midspace