up
This commit is contained in:
145
bench/reachability-benchmark/schemas/case.schema.yaml
Normal file
145
bench/reachability-benchmark/schemas/case.schema.yaml
Normal file
@@ -0,0 +1,145 @@
|
||||
$schema: "https://json-schema.org/draft/2020-12/schema"
|
||||
$id: "https://stellaops.org/benchmark/reachability/case.schema.yaml"
|
||||
title: Reachability Benchmark Case Descriptor
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
- language
|
||||
- project
|
||||
- version
|
||||
- sinks
|
||||
- environment
|
||||
- build
|
||||
- test
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
description: Unique, stable case identifier (e.g. js-express-blog:001)
|
||||
pattern: "^[A-Za-z0-9._:-]+$"
|
||||
language:
|
||||
type: string
|
||||
enum: [js, py, java, c]
|
||||
project:
|
||||
type: string
|
||||
description: Short project name
|
||||
version:
|
||||
type: string
|
||||
description: Semantic-ish version of the case contents
|
||||
pattern: "^\\d+(\\.\\d+){0,2}(-[A-Za-z0-9._-]+)?$"
|
||||
description:
|
||||
type: string
|
||||
repository:
|
||||
type: string
|
||||
format: uri
|
||||
description: Upstream repo (if vendored); optional for in-repo cases
|
||||
entrypoints:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
uniqueItems: true
|
||||
sinks:
|
||||
type: array
|
||||
minItems: 1
|
||||
items:
|
||||
type: object
|
||||
required: [id, path, kind, location]
|
||||
additionalProperties: false
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
pattern: "^[A-Za-z0-9._:-]+$"
|
||||
path:
|
||||
type: string
|
||||
description: Fully-qualified function/method path for the sink
|
||||
kind:
|
||||
type: string
|
||||
enum: [http, file, crypto, process, deserialization, custom]
|
||||
location:
|
||||
type: object
|
||||
required: [file]
|
||||
additionalProperties: false
|
||||
properties:
|
||||
file:
|
||||
type: string
|
||||
line:
|
||||
type: integer
|
||||
minimum: 1
|
||||
notes:
|
||||
type: string
|
||||
environment:
|
||||
type: object
|
||||
required: [os_image]
|
||||
additionalProperties: false
|
||||
properties:
|
||||
os_image:
|
||||
type: string
|
||||
description: Base image or OS identifier (e.g. ubuntu:24.04)
|
||||
runtime:
|
||||
type: object
|
||||
description: Language/runtime versions
|
||||
additionalProperties:
|
||||
type: string
|
||||
compiler:
|
||||
type: string
|
||||
source_date_epoch:
|
||||
type: integer
|
||||
minimum: 0
|
||||
build:
|
||||
type: object
|
||||
required: [command, source_date_epoch]
|
||||
additionalProperties: false
|
||||
properties:
|
||||
command:
|
||||
type: string
|
||||
description: Deterministic build command (invokes Dockerfile/build.sh)
|
||||
source_date_epoch:
|
||||
type: integer
|
||||
minimum: 0
|
||||
env:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
outputs:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
artifact_path:
|
||||
type: string
|
||||
sbom_path:
|
||||
type: string
|
||||
coverage_path:
|
||||
type: string
|
||||
traces_dir:
|
||||
type: string
|
||||
test:
|
||||
type: object
|
||||
required: [command]
|
||||
additionalProperties: false
|
||||
properties:
|
||||
command:
|
||||
type: string
|
||||
description: Oracle test command producing coverage/traces
|
||||
expected_coverage:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
expected_traces:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
env:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
ground_truth:
|
||||
type: object
|
||||
description: Optional inline truth summary (full truth lives in truth files)
|
||||
additionalProperties: false
|
||||
properties:
|
||||
summary:
|
||||
type: string
|
||||
evidence_files:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
notes:
|
||||
type: string
|
||||
additionalProperties: false
|
||||
Reference in New Issue
Block a user