← Back to home
Comparison · Infra & APIs

CBTF vs projoint

A side-by-side editorial comparison of CBTF and projoint — release velocity, themes, recent moves, and the top alternatives to consider.

Shared themes:r-package

CBTF vs projoint: at a glance

FeatureCBTFprojoint
SectorInfra & APIsInfra & APIs
Velocity score0.02.5
Sparks · 30d00
Top themestesting, fuzzing, r-package, developer-toolsconjoint-analysis, survey-research, qualtrics, cran
Last editorial update56m ago1h ago
WebsiteVisit →Visit →

What is CBTF?

A fuzzer for R packages that grew from one argument at a time to parallel runs across whole namespaces.

CBTF throws deliberately problematic inputs at exported functions and reports which ones error, warn, or survive. It now covers 85 input classes, fuzzes multiple named arguments per call, runs in parallel with a per-function timeout, and reports results as a classed object with print, summary, length, and whitelist methods for pruning false positives. Output control has been refined repeatedly — the latest release adds grouping by input or by function and a summary-only mode.

Read the full CBTF trajectory →

What is projoint?

projoint spent a year on CRAN paperwork, then shipped a correctness fix it flagged itself.

projoint is an R package for analysing conjoint survey experiments, covering Qualtrics import, reshaping, and quantity-of-interest estimation with inter-rater reliability correction. Most of its release history is CRAN admission work — citation formats, DESCRIPTION fields, \value{} tags, vignette cleanups — with four tags backfilled within ninety seconds of each other on 15 July in non-monotonic version order, so neither tag order nor timestamps in this feed track the real sequence. The substantive releases are the ones fixing data-preparation bugs that silently corrupt estimates.

Read the full projoint trajectory →

CBTF vs projoint: editorial side-by-side

C
CBTF
INFRA · APIS
0.0

A fuzzer for R packages that grew from one argument at a time to parallel runs across whole namespaces.

◆ Current state

CBTF throws deliberately problematic inputs at exported functions and reports which ones error, warn, or survive. It now covers 85 input classes, fuzzes multiple named arguments per call, runs in parallel with a per-function timeout, and reports results as a classed object with print, summary, length, and whitelist methods for pruning false positives. Output control has been refined repeatedly — the latest release adds grouping by input or by function and a summary-only mode.

◆ Where it's heading

The package has moved from a script-shaped tool to a test-suite component. The single-argument, sequential fuzz() of the early releases could not finish a large namespace or survive a function that simply hangs; the mirai rewrite fixed both, and multi-argument support widened what a run can actually reach. Nearly everything since has gone into making results triageable rather than merely produced: whitelisting, result classes, grouping, and terminal output that fits real function signatures. Note that the 0.1.0 through 0.3.0 entries carry backfilled timestamps recorded in reverse order within under a minute, so their published dates do not reflect release order.

◆ Prediction

The steady expansion of the input catalogue from 70 to 85 with a new time class suggests more input classes are the cheapest next win; the reporting surface is now detailed enough that machine-readable output for CI would be the natural follow-on.

P
projoint
INFRA · APIS
2.5

projoint spent a year on CRAN paperwork, then shipped a correctness fix it flagged itself.

◆ Current state

projoint is an R package for analysing conjoint survey experiments, covering Qualtrics import, reshaping, and quantity-of-interest estimation with inter-rater reliability correction. Most of its release history is CRAN admission work — citation formats, DESCRIPTION fields, \value{} tags, vignette cleanups — with four tags backfilled within ninety seconds of each other on 15 July in non-monotonic version order, so neither tag order nor timestamps in this feed track the real sequence. The substantive releases are the ones fixing data-preparation bugs that silently corrupt estimates.

◆ Where it's heading

The maintainer is hardening the path from raw Qualtrics export to estimate, which is where conjoint analysis quietly goes wrong. Three separate releases fix that path: dropped respondent-level weights in organize_data(), repeated-task reshaping in reshape_projoint(), and choice-to-profile mapping in 1.1.3. Each fix now arrives with regression tests and stricter validation rather than just a patch, and 1.1.3 adds an explicit .choice_map so the mapping is auditable instead of inferred.

◆ Prediction

Expect the validation-and-regression-test pattern to keep extending across the import path, with releases continuing to arrive in bursts around CRAN submission rather than on a cadence.

Alternatives to CBTF and projoint

Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either CBTF or projoint.

See all CBTF alternatives → · See all projoint alternatives →

Recent activity from CBTF and projoint

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 17d agoprojointExplicit .choice_map guards choice-to-profile mapping
  2. 1mo agoprojointCRAN submission housekeeping for DESCRIPTION and examples
  3. 1mo agoprojointCRAN formatting pass; minor make_projoint_data() fix
  4. 1mo agoprojointreshape_projoint() repeated-task bug fixed; validation tightened
  5. 1mo agoprojointCitation metadata updated with the CRAN DOI
  6. 1mo agoCBTFTime inputs added; results groupable by input or function
  7. 5mo agoprojointorganize_data() no longer drops respondent-level weights
  8. 6mo agoCBTFParallel fuzzing with timeouts, and multi-argument support
  9. 0y agoCBTFWhitelisting for false positives, plus clearer result semantics
  10. 1y agoCBTFFunction discovery skips unfuzzable functions; failures no longer crash
  11. 1y agoCBTFFirst release; notes carry only a website link
  12. 1y agoCBTFRaw results returned as an object with summary and print methods

Frequently asked questions

What is the difference between CBTF and projoint?

Both compete on the same themes — r-package — within Infra & APIs. projoint is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is CBTF better than projoint?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. projoint is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.

What are the best alternatives to CBTF?

Top CBTF alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "CBTF alternatives" section above for the current picks, or visit /alternatives/caught-by-the-fuzz for the full list with editorial commentary on each.

What are the best alternatives to projoint?

Top projoint alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "projoint alternatives" section above for the current picks, or visit /alternatives/projoint for the full list with editorial commentary on each.