VLDB 2026 Research / reviewers in the wild / expert
Cyrine Zid
dblp:276/3397
· DBLP profile ↗
5ranked-venue papers
3as first author
5since 2021 · last 2027
0009-0004-8988-3483ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 3 first-author · 5 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2027 | The relationship between different python argument-passing mechanisms and fixes: An empirical study
Cyrine Zid, Massimiliano Di Penta, Foutse Khomh, Giuliano Antoniol |
Empir. Softw. Eng. | 1 |
| 2025 | The downside of functional constructs: a quantitative and qualitative analysis of their fix-inducing effects
Fiorella Zampetti, Cyrine Zid, Giuliano Antoniol, Massimiliano Di Penta |
Empir. Softw. Eng. | 2 |
| 2024 | A Study on the Pythonic Functional Constructs' UnderstandabilityabstractThe use of functional constructs in programming languages such as Python has been advocated to help write more concise source code, improve parallelization, and reduce side effects. Nevertheless, their usage could lead to understandability issues. This paper reports the results of a controlled experiment conducted with 209 developers to assess the understandability of given Pythonic functional constructs---namely lambdas, comprehensions, and map/reduce/-filter functions---if compared to their procedural alternatives. To address the study's goal, we asked developers to modify code using functional constructs or not, to compare the understandability of different implementations, and to provide insights about when and where it is preferable to use such functional constructs. Results of the study indicate that code snippets with lambdas are more straightforward to modify than the procedural alternatives. However, this is not the case for comprehension. Regarding the perceived understandability, code snippets relying on procedural implementations are considered more readable than their functional alternatives. Last but not least, while functional constructs may help write compact code, improving maintainability and performance, they are considered hard to debug. Our results can lead to better education in using functional constructs, prioritizing quality assurance activities, and enhancing tool support for developers. Cyrine Zid, Fiorella Zampetti, Giuliano Antoniol, Massimiliano Di Penta |
ICSE | 1 |
| 2024 | List Comprehension Versus for Loops Performance in Real Python Projects: Should we Care?abstractList comprehensions are a Pythonic functional construct allowing developers to express in a concise way loops to build and manipulate lists. Previous studies point to a gain in speed when list comprehensions are adopted. This paper reports the results of a study that compares the execution time performance of Python code written using list comprehensions as opposed to equivalent imperative programming. To this aim, we have developed a set of transformation rules to map Python for loops into list comprehensions. On the one hand, on artificial code snippets, we found list comprehensions to be faster than procedural code, with differences becoming evident if amplifying the tests, i.e., executing the code fragment thousands of times. On the other hand, this does not happen when executing real-world Python projects, where the performance may or may not improve, depending on the projects' features and the nature of the manipulated objects. Cyrine Zid, François Belias, Massimiliano Di Penta, Foutse Khomh, Giuliano Antoniol |
SANER | 1 |
| 2022 | An Empirical Study on the Fault-Inducing Effect of Functional Constructs in PythonabstractFunctional programming is expected to introduce several benefits to programs, including fewer side effects, easier parallelization, and even, in some circumstances, better comprehensibility. This paper investigates the extent to which the addition/modification of certain programming language constructs, i.e., lambdas, comprehensions, and map/filter/reduce, have higher chances to induce fixes than other changes. To this extent, we analyze the change history of 200 popular open-source programs written in Python, accounting for ≃ 630k commits and 6M changes. The study results show that changes to functional constructs have higher odds to induce fixes than other changes, and that some functional constructs, such as lambdas and comprehensions, have higher odds to induce fixes than others. Finally, a qualitative analysis revealed different scenarios in which functional constructs have been fixed. Results of this study may trigger better development support when using functional constructs during development, and prioritize code review and testing on certain areas of the source code. Fiorella Zampetti, François Belias, Cyrine Zid, Giuliano Antoniol, Massimiliano Di Penta |
ICSME | 3 |