Replication package for the paper :The Relationship Between Different Python Argument-Passing Mechanisms and Fixes: An Empirical Study
收藏NIAID Data Ecosystem2026-05-02 收录
下载链接:
https://zenodo.org/record/13629703
下载链接
链接失效反馈官方服务:
资源简介:
Abstract:
Modern programming languages, such as Python, have introduced a variety of constructs and syntactical elements to make software development more efficient and concise. Examples include lambda functions, comprehension collections, or 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 may affect program understanding and even 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 function definitions and invocations. 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.
创建时间:
2024-09-02



