{"paper_id":"42aca030-4acf-4d1e-a917-3cc211dc4558","body_text":"QModel: A Time-Aware GitHub Mining Framework for Empirical Software Quality Studies | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article QModel: A Time-Aware GitHub Mining Framework for Empirical Software Quality Studies Dmytro Polishchuk This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-8478733/v1 This work is licensed under a CC BY 4.0 License Status: Posted Version 1 posted You are reading this latest preprint version Abstract Empirical studies in software engineering frequently rely on ad hoc scripts to mineGitHub data, which makes metrics hard to compare and results difficult to reproduce. Thispaper presents QModel, an open-source framework that automatically collects and linksrepository information about commits (as a DAG-directed acyclic graph), pull requests,issues, timelines, file changes, and user reactions into a consistent relational schema designedfor quality analysis. Its companion module, QModel Compilation, turns SQL queries over thisschema into executable analyses by generating feature-target datasets and running statisticalor machine-learning strategies (correlation, regression, PCA, random forest, and others).Together, the tools provide an end-to-end, containerized pipeline that allows researchers andpractitioners to define quality hypotheses in SQL, recreate analyses across projects, andexplore how process and structural characteristics (e.g., branching depth, merge activity,developer responsiveness) relate to outcomes such as review time and defect density. Weillustrate the framework on long-lived GitHub projects, combining time-aware graph metricswith SZZ-style defect linking, and show how metrics of bug-introducing commits can serveas lightweight proxies for process bottlenecks and delayed defect handling in distributeddevelopment. All source code, container images, and replication notebooks are publiclyavailable, supporting the community goal of transparent, reusable, and extensible researchon software quality. mining software repositories empirical software engineering software quality Git time-aware metrics defect prediction reproducibility open tools Full Text Additional Declarations No competing interests reported. Supplementary Files qmodel.zip qmodelcompilation.zip Cite Share Download PDF Status: Posted Version 1 posted You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {\"props\":{\"pageProps\":{\"initialData\":{\"identity\":\"rs-8478733\",\"acceptedTermsAndConditions\":true,\"allowDirectSubmit\":true,\"archivedVersions\":[],\"articleType\":\"Research Article\",\"associatedPublications\":[],\"authors\":[{\"id\":571631768,\"identity\":\"073a1b1b-1f9e-45c6-976e-e8669fe82e7c\",\"order_by\":0,\"name\":\"Dmytro Polishchuk\",\"email\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABTUlEQVRIie3RMUvDQBQH8BcCxuHarBdC9StcKGiF4GdJKGQqVemSocOVQF2qc0PBz5B+gysHzZLZJQ6FgnMlS530LrGYaHQWzJ8cubzjl+PxAJo0+Ythh42mUFV+Yo2Sj4pYGEChYrEKkSUR9UAQE8SRlU8C9SR/BMFOicB30n5Mzre+D0NdVYPsevzkhuF2uXnd21d6AEe4B3YnYi1WIkY6sCZJAiMjUKbmfP3sLkxvZM0c72LOBcHgdSPWdkqESDKZghtxZaq2KHcfzMGZCQ4nUBDuRgyRH0iQ5cRICnJakLffCDUlWWBUEFIQ9pUYqXcT0gQXvaA174Yz2YvnEUvc28Ok3w15pZd22o9eqG8Pde12m6Ex78xjvtzsbZucxMEqxf5l5z6+W23K4z+Ws8YO1EQMF8tTFVXrWv6DWiLQLn+h+tMmTZo0+Sd5B2d3hq6Yu6VsAAAAAElFTkSuQmCC\",\"orcid\":\"\",\"institution\":\"Jagiellonian University\",\"correspondingAuthor\":true,\"prefix\":\"\",\"firstName\":\"Dmytro\",\"middleName\":\"\",\"lastName\":\"Polishchuk\",\"suffix\":\"\"}],\"badges\":[],\"createdAt\":\"2025-12-30 07:53:18\",\"currentVersionCode\":1,\"declarations\":\"\",\"doi\":\"10.21203/rs.3.rs-8478733/v1\",\"doiUrl\":\"https://doi.org/10.21203/rs.3.rs-8478733/v1\",\"draftVersion\":[],\"editorialEvents\":[],\"editorialNote\":\"\",\"failedWorkflow\":false,\"files\":[{\"id\":100365926,\"identity\":\"30b9b61f-e47c-4a7a-8ece-dc3b6ff5a98b\",\"added_by\":\"auto\",\"created_at\":\"2026-01-16 07:55:45\",\"extension\":\"json\",\"order_by\":0,\"title\":\"\",\"display\":\"\",\"copyAsset\":false,\"role\":\"acdc-reference\",\"size\":3716,\"visible\":true,\"origin\":\"\",\"legend\":\"\",\"description\":\"\",\"filename\":\"991b4955dbfd4869b5200b50164841d7.json\",\"url\":\"https://assets-eu.researchsquare.com/files/rs-8478733/v1/a834e9efcd74794c60862f58.json\"},{\"id\":107706801,\"identity\":\"d3f684e0-8294-4adf-9121-0fbcbe316859\",\"added_by\":\"auto\",\"created_at\":\"2026-04-24 09:18:46\",\"extension\":\"pdf\",\"order_by\":1,\"title\":\"\",\"display\":\"\",\"copyAsset\":false,\"role\":\"manuscript-pdf\",\"size\":3044366,\"visible\":true,\"origin\":\"\",\"legend\":\"\",\"description\":\"\",\"filename\":\"qmodelmanuscript.pdf\",\"url\":\"https://assets-eu.researchsquare.com/files/rs-8478733/v1_covered_6249468c-4c22-489e-b7c4-1d408f8b9906.pdf\"},{\"id\":100088299,\"identity\":\"b05ae23e-9a87-4768-ac10-2312e2930b93\",\"added_by\":\"auto\",\"created_at\":\"2026-01-12 22:19:22\",\"extension\":\"zip\",\"order_by\":0,\"title\":\"\",\"display\":\"\",\"copyAsset\":false,\"role\":\"supplement\",\"size\":338790,\"visible\":true,\"origin\":\"\",\"legend\":\"\",\"description\":\"\",\"filename\":\"qmodel.zip\",\"url\":\"https://assets-eu.researchsquare.com/files/rs-8478733/v1/cdb0f4435fd2633a634be707.zip\"},{\"id\":100088301,\"identity\":\"ea45dfba-0281-495f-b79d-0a537d7bc13f\",\"added_by\":\"auto\",\"created_at\":\"2026-01-12 22:19:22\",\"extension\":\"zip\",\"order_by\":1,\"title\":\"\",\"display\":\"\",\"copyAsset\":false,\"role\":\"supplement\",\"size\":1218198,\"visible\":true,\"origin\":\"\",\"legend\":\"\",\"description\":\"\",\"filename\":\"qmodelcompilation.zip\",\"url\":\"https://assets-eu.researchsquare.com/files/rs-8478733/v1/2990d618540d5829f092c150.zip\"}],\"financialInterests\":\"No competing interests reported.\",\"formattedTitle\":\"\\u003cp\\u003eQModel: A Time-Aware GitHub Mining Framework for Empirical Software Quality Studies\\u003c/p\\u003e\",\"fulltext\":[],\"fulltextSource\":\"\",\"fullText\":\"\",\"funders\":[],\"hasAdminPriorityOnWorkflow\":false,\"hasManuscriptDocX\":false,\"hasOptedInToPreprint\":true,\"hasPassedJournalQc\":\"\",\"hasAnyPriority\":false,\"hideJournal\":true,\"highlight\":\"\",\"institution\":\"\",\"isAcceptedByJournal\":false,\"isAuthorSuppliedPdf\":true,\"isDeskRejected\":\"\",\"isHiddenFromSearch\":false,\"isInQc\":false,\"isInWorkflow\":false,\"isPdf\":true,\"isPdfUpToDate\":true,\"isWithdrawnOrRetracted\":false,\"journal\":{\"display\":true,\"email\":\"info@researchsquare.com\",\"identity\":\"researchsquare\",\"isNatureJournal\":false,\"hasQc\":true,\"allowDirectSubmit\":true,\"externalIdentity\":\"\",\"sideBox\":\"\",\"snPcode\":\"\",\"submissionUrl\":\"/submission\",\"title\":\"Research Square\",\"twitterHandle\":\"researchsquare\",\"acdcEnabled\":true,\"dfaEnabled\":false,\"editorialSystem\":\"\",\"reportingPortfolio\":\"\",\"inReviewEnabled\":false,\"inReviewRevisionsEnabled\":true},\"keywords\":\"mining software repositories, empirical software engineering, software quality, Git, time-aware metrics, defect prediction, reproducibility, open tools\",\"lastPublishedDoi\":\"10.21203/rs.3.rs-8478733/v1\",\"lastPublishedDoiUrl\":\"https://doi.org/10.21203/rs.3.rs-8478733/v1\",\"license\":{\"name\":\"CC BY 4.0\",\"url\":\"https://creativecommons.org/licenses/by/4.0/\"},\"manuscriptAbstract\":\"Empirical studies in software engineering frequently rely on ad hoc scripts to mineGitHub data, which makes metrics hard to compare and results difficult to reproduce. Thispaper presents QModel, an open-source framework that automatically collects and linksrepository information about commits (as a DAG-directed acyclic graph), pull requests,issues, timelines, file changes, and user reactions into a consistent relational schema designedfor quality analysis. Its companion module, QModel Compilation, turns SQL queries over thisschema into executable analyses by generating feature-target datasets and running statisticalor machine-learning strategies (correlation, regression, PCA, random forest, and others).Together, the tools provide an end-to-end, containerized pipeline that allows researchers andpractitioners to define quality hypotheses in SQL, recreate analyses across projects, andexplore how process and structural characteristics (e.g., branching depth, merge activity,developer responsiveness) relate to outcomes such as review time and defect density. Weillustrate the framework on long-lived GitHub projects, combining time-aware graph metricswith SZZ-style defect linking, and show how metrics of bug-introducing commits can serveas lightweight proxies for process bottlenecks and delayed defect handling in distributeddevelopment. All source code, container images, and replication notebooks are publiclyavailable, supporting the community goal of transparent, reusable, and extensible researchon software quality.\",\"manuscriptTitle\":\"QModel: A Time-Aware GitHub Mining Framework for Empirical Software Quality Studies\",\"msid\":\"\",\"msnumber\":\"\",\"nonDraftVersions\":[{\"code\":1,\"date\":\"2026-01-12 22:19:17\",\"doi\":\"10.21203/rs.3.rs-8478733/v1\",\"editorialEvents\":[{\"type\":\"communityComments\",\"content\":0}],\"status\":\"published\",\"journal\":{\"display\":true,\"email\":\"info@researchsquare.com\",\"identity\":\"researchsquare\",\"isNatureJournal\":false,\"hasQc\":true,\"allowDirectSubmit\":true,\"externalIdentity\":\"\",\"sideBox\":\"\",\"snPcode\":\"\",\"submissionUrl\":\"/submission\",\"title\":\"Research Square\",\"twitterHandle\":\"researchsquare\",\"acdcEnabled\":true,\"dfaEnabled\":false,\"editorialSystem\":\"\",\"reportingPortfolio\":\"\",\"inReviewEnabled\":false,\"inReviewRevisionsEnabled\":true}}],\"origin\":\"\",\"ownerIdentity\":\"fbcad948-649b-44d5-b83b-329cd4ec9f7f\",\"owner\":[],\"postedDate\":\"January 12th, 2026\",\"published\":true,\"recentEditorialEvents\":[],\"rejectedJournal\":[],\"revision\":\"\",\"amendment\":\"\",\"status\":\"posted\",\"subjectAreas\":[],\"tags\":[],\"updatedAt\":\"2026-04-22T16:25:28+00:00\",\"versionOfRecord\":[],\"versionCreatedAt\":\"2026-01-12 22:19:17\",\"video\":\"\",\"vorDoi\":\"\",\"vorDoiUrl\":\"\",\"workflowStages\":[]},\"version\":\"v1\",\"identity\":\"rs-8478733\",\"journalConfig\":\"researchsquare\"},\"__N_SSP\":true},\"page\":\"/article/[identity]/[[...version]]\",\"query\":{\"redirect\":\"/article/rs-8478733\",\"identity\":\"rs-8478733\",\"version\":[\"v1\"]},\"buildId\":\"XKTyCvWXoU3ODBz1xrDgd\",\"isFallback\":false,\"isExperimentalCompile\":false,\"dynamicIds\":[84888],\"gssp\":true,\"scriptLoader\":[]}","source_license":"CC-BY-4.0","license_restricted":false}