Opening the Valve on Pure-Data: Usage Patterns and Programming Practices of a Data-Flow Based Visual Programming Language

Anisha Islam and Kalvin Eng and Abram Hindle

2024/01/12

Opening the Valve on Pure-Data: Usage Patterns and Programming Practices of a Data-Flow Based Visual Programming Language

Authors

Anisha Islam and Kalvin Eng and Abram Hindle

Venue

Abstract

Pure Data (PD), a data-flow based visual programming language utilized for music and sound synthesis, remains underexplored in software engineering research. Existing literature fails to address the nuanced programming practices within PD, prompting the need to investigate how end-users manipulate nodes and edges in this visual language. This paper systematically extracts and analyzes 6,534 publicly available PD projects from GitHub. Employing source code parsing, pattern matching, and statistical analysis, we unveil usage patterns of PD by the end-user programmers. We found that most revisions of the PD files are small and simple, with fewer than 64 nodes, 51 connections, and 3 revisions. Most PD projects have less than 17 PD files, 31 commits, and only 1 author working on the PD files. The median differences in the number of nodes and edges between each commit and its parents, modifying the same file, are 3 and 0, respectively, implying small changes across various revisions of a PD file. Our findings contribute a valuable dataset for future studies, addressing the dearth of research in PD. By unraveling usage patterns, we provide insights that empower scholars and practitioners to optimize the programming experience for end-users in the realm of visual programming languages.

Bibtex

@inproceedings{islam2024MSR-pure-data,
 abstract = {Pure Data (PD), a data-flow based visual programming language utilized for music and sound synthesis, remains underexplored in software engineering research. Existing literature fails to address the nuanced programming practices within PD, prompting the need to investigate how end-users manipulate nodes and edges in this visual language. This paper systematically extracts and analyzes 6,534 publicly available PD projects from GitHub. Employing source code parsing, pattern matching, and statistical analysis, we unveil usage patterns of PD by the end-user programmers. We found that most revisions of the PD files are small and simple, with fewer than 64 nodes, 51 connections, and 3 revisions. Most PD projects have less than 17 PD files, 31 commits, and only 1 author working on the PD files. The median differences in the number of nodes and edges between each commit and its parents, modifying the same file, are 3 and 0, respectively, implying small changes across various revisions of a PD file. Our findings contribute a valuable dataset for future studies, addressing the dearth of research in PD. By unraveling usage patterns, we provide insights that empower scholars and practitioners to optimize the programming experience for end-users in the realm of visual programming languages.},
 accepted = {2024-01-12},
 author = {Anisha Islam and Kalvin Eng and Abram Hindle},
 authors = {Anisha Islam and Kalvin Eng and Abram Hindle},
 booktitle = {2024 IEEE/ACM 21th International Conference on Mining Software Repositories (MSR) Data Track},
 code = {islam2024MSR-pure-data},
 date = {2024-04-15},
 doi = {http://dx.doi.org/10.1145/3643991.3644865},
 funding = {NSERC Discovery},
 location = {Lisbon, Portugal},
 pages = {1--6},
 rate = {32/65},
 role = {Co-Author},
 title = {Opening the Valve on Pure-Data: Usage Patterns and Programming Practices of a Data-Flow Based Visual Programming Language},
 type = {inproceedings},
 url = {http://softwareprocess.ca/pubs/islam2024MSR-pure-data.pdf},
 venue = {2024 IEEE/ACM 21th International Conference on Mining Software Repositories (MSR) Data Track},
 year = {2024}
}