ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Thu 18 Apr 2024 14:30 - 14:45 at Amália Rodrigues - Evolution 3 Chair(s): Saba Alimadadi

The Python community strives to design pythonic idioms so that Python users can achieve their intent in a more concise and efficient way. According to our analysis of 154 questions about challenges of understanding pythonic idioms on Stack Overflow, we find that Python users face various challenges in comprehending pythonic idioms. And the usage of pythonic idioms in 7,577 GitHub projects reveals the prevalence of pythonic idioms. By using a statistical sampling method, we find pythonic idioms result in not only lexical conciseness but also the creation of variables and functions, which indicates it is not straightforward to map back to non-idiomatic code. And usage of pythonic idioms may even cause potential negative effects such as code redundancy, bugs and performance degradation. To alleviate such readability issues and negative effects, we develop a transforming tool, DeIdiom, to automatically transform idiomatic code into equivalent non-idiomatic code. We test and review over 7,572 idiomatic code instances of nine pythonic idioms (list/set/dict-comprehension, chain-comparison, truth-value-test, loop-else, assign-multi-targets, for-multi-targets, star), the result shows the high accuracy of DeIdiom. Our user study with 20 participants demonstrate that explanatory non-idiomatic code generated by DeIdiom is useful for Python users to understand pythonic idioms correctly and efficiently, and leads to a more positive appreciation of pythonic idioms.

Thu 18 Apr

Displayed time zone: Lisbon change

14:00 - 15:30
14:00
15m
Talk
BOMs Away! Inside the Minds of Stakeholders: A Comprehensive Study of Bills of Materials for Software Systems
Research Track
Trevor Stalnaker William & Mary, Nathan Wintersgill William & Mary, Oscar Chaparro William & Mary, Massimiliano Di Penta University of Sannio, Italy, Daniel M. German University of Victoria, Denys Poshyvanyk William & Mary
Pre-print
14:15
15m
Talk
Compiler-directed Migrating API Callsite of Client Code
Research Track
Hao Zhong Shanghai Jiao Tong University, Na Meng Virginia Tech
14:30
15m
Talk
Hard to Read and Understand Pythonic Idioms? DeIdiom and Explain Them in Non-Idiomatic Equivalent CodeACM SIGSOFT Distinguished Paper Award
Research Track
zejun zhang Australian National University, Zhenchang Xing CSIRO's Data61, Dehai Zhao CSIRO's Data61, Qinghua Lu Data61, CSIRO, Xiwei (Sherry) Xu Data61, CSIRO, Liming Zhu CSIRO’s Data61
14:45
15m
Talk
Integrating Canvas and GitLab to Enrich Learning Processes
Software Engineering Education and Training
Laura Schauer Heriot-Watt University, Rob Stewart Heriot-Watt University, Manuel Maarek Heriot-Watt University
15:00
7m
Talk
Refactoring with domain-driven design in an industrial context: An action research report
Journal-first Papers
Ozan Ozkan Eindhoven University of Technology, Önder Babur Wageningen University & Research, Mark van den Brand Eindhoven University of Technology
15:07
14m
Talk
VEER: Enhancing the Interpretability of Model-based Optimizations
Journal-first Papers
Kewen Peng North Carolina State University, Christian Kaltenecker Saarland University, Germany, Norbert Siegmund Leipzig University, Sven Apel Saarland University, Tim Menzies North Carolina State University
DOI Pre-print