Computer ScienceOriginal ResearchPublished 4/20/2026 · 40 views0 downloadsDOI 10.66308/air.e2026037

Self-admitted technical debt in modular open-source Ruby on Rails ecosystems: a multi-project empirical study

Anna TopalidiResearcher & Software Engineer, Pokecode
Received 4/8/2026Accepted 4/19/2026
Technical DebtRuby on RailsModular ArchitectureLinter SuppressionEmpirical Software EngineeringMining Software Repositories
Download PDF
Cover: Self-admitted technical debt in modular open-source Ruby on Rails ecosystems: a multi-project empirical study

Abstract

Background: Self-Admitted Technical Debt (SATD) — intentional shortcuts documented by developers in source code comments — has been extensively studied in Java and Python, but the Ruby on Rails ecosystem remains unexamined despite its scale in civic tech, e-commerce, and social networking.

Aim: This study investigates the prevalence, distribution, and types of SATD in five prominent Ruby on Rails open-source projects, focusing on how modular architectures based on Rails engines shape SATD distribution.

Method: We mined 1.55 million lines of Ruby across Decidim, Discourse, Solidus, Spree, and Mastodon, extracted 907 SATD comments using keyword-based heuristics, analyzed density and module-level correlations, and manually classified a stratified sample of 400 comments.

Results: We report SATD under two scenarios: inclusive (treating rubocop:disable as formalised SATD) and classical (excluding it). The mean density is 0.50 SATD/KLOC in the inclusive scenario and 0.26 SATD/KLOC in the classical scenario — substantially below Java figures under either view. Formalised SATD — predominantly inline linter-suppression markers and dependency workarounds — accounts for 55.1% of validated instances, a category absent from Java-focused taxonomies. Module size predicts SATD count (ρ = 0.684, p < 0.001) but not density. Manual validation reveals a 9.8% overall false-positive rate, concentrated in the REVIEW and TEMPORARY keywords.

Conclusion: Ruby on Rails projects exhibit a distinct SATD profile in which debt is often expressed through RuboCop interaction rather than free-text comments. SATD taxonomies and detection tools should be extended with a formalised subclass to accommodate dynamically-typed ecosystems with strong linting cultures.

Cite asAnna Topalidi (2026). Self-admitted technical debt in modular open-source Ruby on Rails ecosystems: a multi-project empirical study. American Impact Review. https://doi.org/10.66308/air.e2026037Copy