You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[TS PBT] Build a property-rich development and held-out benchmark with validated faults #356
Part of #345. Uses completed #347/#348/#384 and coordinates with #395. Corpus selection and authoring start immediately; they are not blocked by the final feedback implementation.
Goal
Provide a reproducible, independent test of what PBT-specific information adds beyond coverage and two-engine execution.
First checkpoint input
Deliver a versioned development manifest for #405 before the full corpus is complete. Start with supported numeric/scalar and bounded-array properties, at least two independent property families including an imported real fast-check suite, and declared inclusion/exclusion rules. Report project concentration and actual adaptation effort; a collection of near-duplicate mutants is not independent evidence.
Include a curated saturated-coverage fault fixture, a useful non-failing hypothesis-refutation fixture, a misleading/no-benefit case, and independent development cases for comparative runs. A constructed functional demonstration is reported separately from empirical results. Validate original oracles on intended-correct code; false mathematical specifications are not implementation defects.
Freeze the pilot selection and settings before comparative runs, retain no-gain/regression cases, and keep all pilot cases and tuning traces on the development side. Record later pilot revisions as new development versions. Final held-out selection follows outcome-independent project/family rules and cannot reuse pilot outcomes for tuning. #400–#403 strata remain required for final completion of this issue, but their absence does not block publication of the core development manifest.
Mandatory strata for the full corpus
Original human-written properties from selected real open-source TypeScript/fast-check suites, with project revision, license, source links, rationale and adaptation/annotation effort. Do not replace meaningful oracles with a no-throw property.
Relational/collection/pre-post properties exposing intermediate and input-to-result relationships, including saturated-coverage programs and misleading sample patterns.
JavaScript-semantic counterexamples (floating-point identities, special values, mutation/aliasing) and unsupported-prefix versus supported-prefix/unsupported-oracle cases.
Correct implementations, real known defects where reproducibly available, and separately identified controlled mutants. Do not claim seeded defects are discovered real-world bugs.
Selection and freeze protocol
Write inclusion/exclusion criteria and strata before seeing comparative outcomes. Use curated mechanisms only for explanation; report real-project and curated results separately.
Split development and held-out cases by project/family where feasible, avoiding near-duplicate mutants or versions across the split. Keep final witnesses/results out of scheduler and template tuning.
Every counted mutant has a stable ID, exact source change, expected violated original property and a concrete non-equivalence witness. Screen equivalent/invalid mutants under a predefined rule. Keep witnesses outside generator/miner training.
Validate original properties on intended-correct code and distinguish false specifications from implementation faults (e.g. exact floating-point round-trip equality).
Record every selected case's capability and limitations, including author effort and required annotations. Keep unsupported cases in the full inventory and use explicit common supported subsets for direct comparisons.
Development and held-out manifests, revision/license pins, source-linked oracles and validation commands are committed.
All mandatory strata have a nonempty meaningful subset, including actual reused user properties and sequence/dependence/relational examples; final selection is not based on the winning mode.
Known faults and mutants are concretely validated and reported separately. Unavailable real defects or unsupported categories are disclosed rather than replaced with misleading claims.
Corpus metadata supports per-family/project analysis, observation limits, source granularity, generator/sequence bounds and actual supported denominator.
changed the title [-][TS PBT] Build a reproducible property benchmark and mutant corpus[/-][+][TS PBT] Build a property-rich development and held-out benchmark with validated faults[/+]on Sep 30, 2026
Part of #345. Uses completed #347/#348/#384 and coordinates with #395. Corpus selection and authoring start immediately; they are not blocked by the final feedback implementation.
Goal
Provide a reproducible, independent test of what PBT-specific information adds beyond coverage and two-engine execution.
First checkpoint input
Deliver a versioned development manifest for #405 before the full corpus is complete. Start with supported numeric/scalar and bounded-array properties, at least two independent property families including an imported real fast-check suite, and declared inclusion/exclusion rules. Report project concentration and actual adaptation effort; a collection of near-duplicate mutants is not independent evidence.
Include a curated saturated-coverage fault fixture, a useful non-failing hypothesis-refutation fixture, a misleading/no-benefit case, and independent development cases for comparative runs. A constructed functional demonstration is reported separately from empirical results. Validate original oracles on intended-correct code; false mathematical specifications are not implementation defects.
Freeze the pilot selection and settings before comparative runs, retain no-gain/regression cases, and keep all pilot cases and tuning traces on the development side. Record later pilot revisions as new development versions. Final held-out selection follows outcome-independent project/family rules and cannot reuse pilot outcomes for tuning. #400–#403 strata remain required for final completion of this issue, but their absence does not block publication of the core development manifest.
Mandatory strata for the full corpus
Selection and freeze protocol
Definition of Done