Dataset for the paper "The Relationship Between Different Python Argument-Passing Mechanisms and Fixes: An Empirical Study"
收藏NIAID Data Ecosystem2026-05-01 收录
下载链接:
https://zenodo.org/record/7870869
下载链接
链接失效反馈官方服务:
资源简介:
This is the replication package of the article
The Relationship Between Different Python Argument-Passing Mechanisms and Fixes: An Empirical Study
Abstract:
Modern programming languages (such as Python, but not only) have introduced a variety of constructs and syntactical elements to make software development more efficient and concise. Examples include lambda functions, comprehension collections, of mechanisms to facilitate the passing of arguments to a function. While many of such constructs may, in principle, be beneficial for developers, recent studies have shown that certain programming constructs introduce atoms of confusion, and may therefore affect program understanding. Moreover, recent work has shown that changes to some constructs, namely functional constructs of Python, induce more fixes than other changes. This paper studies the effect of different Python argument-passing mechanisms to investigate their relationship with code proneness to be fixed. Specifically, we study the fix-proneness for what concerns the function definition, as well as its invocation. This is done by analyzing the evolutionary history of 200 Python projects, for a total of about 3M functions and 12M call sites. While there are varying effects for what concerns parameter declaration mechanisms, we found evidence that keyword-based argument passing is less defect prone than positional argument passing, and this is not affected by size-related confounding factors.
创建时间:
2023-04-27



