Preprint

New corpus maps how software specifications connect to code

Preprint: SPECMINE catalogs hundreds of thousands of spec files, their histories and selected pull-request links.

A large map of specification work

SPECMINE is a large corpus built to put the written specification at the center of software research. Its stated purpose is to help researchers examine how specifications relate to shipped code, bringing together artifacts, repository history, pull requests and code-related references across tools.

In the broad census, the authors report 470,795 spec files across 73,030 repositories, attributed to 17 named tools. A separate census focused on the Kiro layout recovered 98,574 artifacts across 12,910 repositories. The figures describe overlapping units in the release, not one additive sample.

The broad count did not begin with the final total. Census construction produced 822,901 rows, which became 575,633 distinct files after deduplication; a documented filter then left 470,795 retained files. That sequence is important because the headline figure is the post-filter set produced by the collection procedure.

What the release records

Each specification is enriched with its full commit history and 39 parsed structural features. In practical terms, the corpus records both the text and a structured description of how it is organized. The summary counts include 780,335 spec-file commits, 468,307 files with content and structural features, and 266,230 OpenSpec change artifacts.

A separate traceability index catalogs typed references between specification-related items and the code side of a repository. It contains 2,421,323 typed references, including 435,401 OpenSpec task-to-code references resolved against the repository tree at the anchoring commit. The index therefore records relationships, not just file counts.

To check the tool labels, the authors manually reviewed 30 specifications spanning ten named tools and found the attribution correct in every case. They also tested the census procedure for repeatability: rerunning it added approximately zero files, and independent fetches converged on the same set.

A signal from pull requests

The pull-request layer is narrower than the main census. For eleven named tools, the authors swept 949 repositories with at least ten stars and captured 5,992 spec-touching pull requests across 581 repositories. It connects the specification record to selected pull requests, but it was not designed as a census of all pull-request activity.

Within that sample, 81.2% of spec-touching pull requests also modified code in the same pull request. The paper treats a pull request that edits both a specification and source files as implementing the specification, but explicitly calls that an assumption rather than ground truth. The percentage therefore measures same-pull-request co-change, not verified completion of a specification.

Timing suggests that the corpus is concentrated in the recent part of its collection window. The paper reports that 99.7% of specifications were first committed in 2025 or later, while 92% were in 2026. These are characteristics of the July 2026 v1.0 snapshot, not a claim about every period of software development.

The boundaries matter

The pull-request percentage cannot be projected onto the full broad census. The released layer came from 963 repository-tool targets across 949 distinct repositories, with 581 repositories entering the layer, compared with 73,030 repositories in the broad census. The authors describe it as a subsample rather than a census.

The broad census has its own boundary: the reachable set may be a strict subset of all matching files, and the retained total depends on the documented not-a-spec filter. The numbers therefore describe the procedure's retained set in the July snapshot, rather than an unqualified total.

Nor does the co-change rule settle what happened in later work. It can miss workflows in which implementation comes later, and it can include unrelated or only partial code changes. The authors' own wording is the key caution: same-pull-request edits are an implementation heuristic, not ground truth.

A foundation for further questions

Taken together, the release is best read as a map of artifacts and links. Its stated purpose is to make the specification visible alongside repository history and code-related references, so the relationship between written intent and shipped code can be examined.

Version 1.0 is the July 2026 snapshot and is released in three tiers. The manuscript is an arXiv v1 preprint dated 25 Aug 2026. For readers using the data, the practical lesson is to treat the broad census as a large catalog and the pull-request and co-change layers as limited evidence for closer analysis.

Paper data and sources

Original title: SPECMINE: A Large-Scale Corpus of Spec-Driven Development Artifacts
Authors: Shyam Agarwal, Bogdan Vasilescu
Journal/Repository: arXiv
Status: Preprint, not yet peer-reviewed
First online: 2026-08-25
DOI: Not available
Original paper · Full text

Versions and corrections

  1. Published automatically after legal-source, freshness, evidence, and independent-verification gates passed.