Do sociolinguistic factors influence program writing styles?
Bibliographic record
Abstract
When programmers write programs, they may have specific coding preferences, including naming conventions, comments, or decision logic. While making stylistic decisions, programmers have to follow the syntactic rules of the programming language, and these decisions may demonstrate some insights about a programmer’s coding choices or demographic background. Several studies have investigated how the use of natural languages reflects the sociolinguistics background, including gender and region of users. However, few studies have focused on finding the imprints of programmers’ coding styles. For example, do programming languages carry marks that indicate a programmer’s stylistic choices? Do programmers’ gender or region influence how they will shape the code? This work investigates these questions by analyzing programming contest programs using statistical and machine learning techniques. Using concepts from sociolinguistics and software metrics in C++ programs, we identified programming features or components that are significant for classifying programmers based on their gender and region. Our goal was to identify sociolinguistic and software metric factors that might help us identify imprints of a programmer’s program writing choices. Initial efforts have resulted in prediction accuracies of 90.61% (for gender) and 79.73% (for region), based on programmers’ program writing style. This study indicates that, just as natural language, programming language also conveys information about programmers’ choices when they write code. The data sets and code are available at https://github.com/deen-abdullah/Dataset-ACDSA2025.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.001 | 0.011 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.001 | 0.002 |
| Science and technology studies | 0.000 | 0.000 |
| Scholarly communication | 0.001 | 0.001 |
| Open science | 0.000 | 0.001 |
| Research integrity | 0.000 | 0.000 |
| Insufficient payload (model declined to judge) | 0.003 | 0.002 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".