pith. sign in
Pith Number

pith:DXQ3W7DI

pith:2026:DXQ3W7DIOPGEWTLOV7W4NCHLQI
not attested not anchored not stored refs pending

Implementing CPSLint: A Data Validation and Sanitisation Tool for Industrial Cyber-Physical Systems

Mari\"elle Stoelinga, \"Omer Sayilir, Uraz Odyurt, Vadim Zaytsev

CPSLint is a domain-specific language that expresses industrial CPS data sanitization and validation in just a few lines of code.

arxiv:2604.18191 v2 · 2026-04-20 · cs.PL

Add to your LaTeX paper
\usepackage{pith}
\pithnumber{DXQ3W7DIOPGEWTLOV7W4NCHLQI}

Prints a linked badge after your title and injects PDF metadata. Compiles on arXiv. Learn more · Embed verified badge

Record completeness

1 Bitcoin timestamp
2 Internet Archive
3 Author claim open · sign in to claim
4 Citations open
5 Replications open
Portable graph bundle live · download bundle · merged state
The bundle contains the canonical record plus signed events. A mirror can host it anywhere and recompute the same current state with the deterministic merge algorithm.

Claims

C1strongest claim

We introduce CPSLint, a Domain-Specific Language (DSL) designed to support the data preparation process for industrial CPS. ... In our DSL one can express the data preparation process in just a few lines of code. CPSLint is a publicly available tool applicable for any case involving time-series data collections in need of sanitisation.

C2weakest assumption

We leverage the fact that many raw data collections in the industrial CPS domain require similar actions to render them suitable for data-centric workflows.

C3one line summary

CPSLint is a publicly available DSL that lets users express data sanitization for CPS time-series collections in a few lines of code, improving readability and maintainability over custom scripts.

Receipt and verification
First computed 2026-06-12T01:09:27.890131Z
Builder pith-number-builder-2026-05-17-v1
Signature Pith Ed25519 (pith-v1-2026-05) · public key
Schema pith-number/v1.0

Canonical hash

1de1bb7c6873cc4b4d6eafedc688eb8224846292bee39c91b2d43e16ab598982

Aliases

arxiv: 2604.18191 · arxiv_version: 2604.18191v2 · doi: 10.48550/arxiv.2604.18191 · pith_short_12: DXQ3W7DIOPGE · pith_short_16: DXQ3W7DIOPGEWTLO · pith_short_8: DXQ3W7DI
Agent API
Verify this Pith Number yourself
curl -sH 'Accept: application/ld+json' https://pith.science/pith/DXQ3W7DIOPGEWTLOV7W4NCHLQI \
  | jq -c '.canonical_record' \
  | python3 -c "import sys,json,hashlib; b=json.dumps(json.loads(sys.stdin.read()), sort_keys=True, separators=(',',':'), ensure_ascii=False).encode(); print(hashlib.sha256(b).hexdigest())"
# expect: 1de1bb7c6873cc4b4d6eafedc688eb8224846292bee39c91b2d43e16ab598982
Canonical record JSON
{
  "metadata": {
    "abstract_canon_sha256": "3513563402ea91f4535f61f2ae616e49a83f610199f459a94ba8e45b9425e7c9",
    "cross_cats_sorted": [],
    "license": "http://creativecommons.org/licenses/by/4.0/",
    "primary_cat": "cs.PL",
    "submitted_at": "2026-04-20T12:46:13Z",
    "title_canon_sha256": "b43df190f44c1b6a6160f6debcb237a4d92371e1f646d1e233c9c726ddfccb8a"
  },
  "schema_version": "1.0",
  "source": {
    "id": "2604.18191",
    "kind": "arxiv",
    "version": 2
  }
}