DOI: 10.5281/zenodo.8191783
title: Replication package for the paper: "A Study on the Pythonic Functional Constructs' Understandability"

description: <strong>Replication Package for A Study on the Pythonic Functional Constructs' Understandability</strong> This package contains several folders and files with both code and data used within the context of the study. <br> <strong>examples/</strong><br> Here you can find all the code snippets used as objects of the study, named as reported in Table 1, summarizing the experiment design. <strong>RQ1-RQ2-files-for-statistical-analysis/</strong><br> Here you can find three .csv files used as input for conducting the statistical analysis and drawing the graphs for addressing the first two research questions of the study. Specifically: - <strong>ConstructUsage.csv</strong> contains the declared frequency usage of the three functional constructs object of the study. This file is used to draw Figure 4. <br> - <strong>RQ1.csv</strong> contains the collected data used for the mixed-effect logistic regression relating the use of functional constructs with the correctness of the change task, as well as the logistic regression relating the use of map/reduce/filter functions with the correctness of the change task. <br> - <strong>RQ1Paired-RQ2.csv</strong> contains the collected data used for the ordinal logistic regression of the relationship between the perceived ease of understanding of the functional constructs and (i) participants’ usage frequency, and (ii) constructs’ complexity (except for map/reduce/filter). <strong>inter-rater-RQ3-files/</strong><br> Here you can find four .csv files used as input for computing the inter-rater agreement for the manual labeling used for addressing RQ3. Specifically, you will find one file for each functional construct, i.e., comprehension.csv, lambda.csv, and mrf.csv, and a different file used for highlighting the reasons why participants prefer to use the procedural paradigm, i.e., procedural.csv. <strong>Questionnaire-Example.pdf</strong><br> This file contains the questionnaire submitted to one of the ten experimental groups within our controlled experiment. Other questionnaires are similar, except for the code snippets used for the first section, i.e., change tasks, and the second section, i.e., comparison tasks. <strong>RQ2ManualValidation.csv</strong><br> This file contains the results of the manual validation being done to sanitize the answers provided by our participants used for addressing RQ2. Specifically, we coded the behaviour description using four different level: (i) correct, (ii) somewhat correct, (iii) wrong, and (iv) automatically generated. <strong>RQ3ManualValidation.xls</strong><br> This file contains the results of the open coding applied to address our third research question. Specifically, you will find four different sheets, one for each functional construct and one for the procedural paradigm. For each sheet, you will find the provided answers together with the categories being assigned to them. <strong>Appendix.pdf</strong><br> This file contains the results of the logistic regression relating the use of filter and reduce functions with the correctness of the change task, not showed in the paper. <strong>FuncConstructs-Statistics.r </strong><br> This file contains an R script that you can re-use for re-run all the analysis being conducted and discussed in the paper. <strong>FuncConstructs-Statistics.ipynb</strong><br> This file contains the code to re-execute all the analysis conducted in the paper as a notebook.