Table of Contents
Fetching ...

Is spreadsheet syntax better than numeric indexing for cell selection?

Philip Heltweg, Dirk Riehle, Georg-Daniel Schwarz

TL;DR

The paper investigates whether spreadsheet-style cell-referencing syntax improves data-practitioner comprehension and code creation for 2D data selections, compared with numeric indexing in Pandas. Using a large-scale within-subject crossover study with master’s students, it measures speed and correctness across two task types (program comprehension and code creation) on real data, analyzed with nonparametric tests and effect sizes. Results show spreadsheet syntax increases correctness in reading and writing tasks, and notably speeds up code creation with a medium-to-large effect, suggesting domain-specific syntax aligned with practitioners' spreadsheet experience can reduce errors and improve throughput. These findings imply practical benefits for DSL design in data engineering, particularly for non-programmers, while highlighting the need for replication with real industry practitioners and further qualitative insights to understand the underlying causes.

Abstract

Selecting a subset of cells is a common task in data engineering, for example, to remove errors or select only specific parts of a table. Multiple approaches to express this selection exist. One option is numeric indexing, commonly found in general programming languages, where a tuple of numbers identifies the cell. Alternatively, the separate dimensions can be referred to using different enumeration schemes like "A1" for the first cell, commonly found in software such as spreadsheet systems. In a large-scale controlled experiment with student participants as proxy for data practitioners, we compare the two options with respect to speed and correctness of reading and writing code. The results show that, when reading code, participants make less mistakes using spreadsheet-style syntax. Additionally, when writing code, they make fewer mistakes and are faster when using spreadsheet syntax compared to numeric syntax. From this, a domain-specific syntax, such as spreadsheet syntax for data engineering, appears to be a promising alternative to explore in future tools to support practitioners without a software engineering background.

Is spreadsheet syntax better than numeric indexing for cell selection?

TL;DR

The paper investigates whether spreadsheet-style cell-referencing syntax improves data-practitioner comprehension and code creation for 2D data selections, compared with numeric indexing in Pandas. Using a large-scale within-subject crossover study with master’s students, it measures speed and correctness across two task types (program comprehension and code creation) on real data, analyzed with nonparametric tests and effect sizes. Results show spreadsheet syntax increases correctness in reading and writing tasks, and notably speeds up code creation with a medium-to-large effect, suggesting domain-specific syntax aligned with practitioners' spreadsheet experience can reduce errors and improve throughput. These findings imply practical benefits for DSL design in data engineering, particularly for non-programmers, while highlighting the need for replication with real industry practitioners and further qualitative insights to understand the underlying causes.

Abstract

Selecting a subset of cells is a common task in data engineering, for example, to remove errors or select only specific parts of a table. Multiple approaches to express this selection exist. One option is numeric indexing, commonly found in general programming languages, where a tuple of numbers identifies the cell. Alternatively, the separate dimensions can be referred to using different enumeration schemes like "A1" for the first cell, commonly found in software such as spreadsheet systems. In a large-scale controlled experiment with student participants as proxy for data practitioners, we compare the two options with respect to speed and correctness of reading and writing code. The results show that, when reading code, participants make less mistakes using spreadsheet-style syntax. Additionally, when writing code, they make fewer mistakes and are faster when using spreadsheet syntax compared to numeric syntax. From this, a domain-specific syntax, such as spreadsheet syntax for data engineering, appears to be a promising alternative to explore in future tools to support practitioners without a software engineering background.

Paper Structure

This paper contains 28 sections, 4 equations, 6 figures, 5 tables.

Figures (6)

  • Figure 1: Code creation task in the experiment tool.
  • Figure 2: Program comprehension task in the experiment tool.
  • Figure 3: Kernel density plot for the results of $H_{1a}$, time, program comprehension
  • Figure 4: Kernel density plot for the results of $H_{1b}$, correctness, program comprehension
  • Figure 5: Kernel density plot for the results of $H_{2a}$, time, code creation
  • ...and 1 more figures