Skip to content

Home / File Formats / .pict Format (Import/Export)

.pict Format (Import/Export)

The .pict format is Microsoft PICT's native text model format. ProTest can import .pict files to convert them to its native .cahtt format, and export models as .pict for use with the standalone PICT tool.

Not the Native Format

ProTest's native format is .cahtt. The .pict format does not store generation settings (engine choice, SIPO tuning) or saved results. Use .cahtt for full-fidelity model storage.

Format Structure

A .pict file has three sections, separated by blank lines:

  1. Parameter definitions
  2. Sub-model declarations (optional)
  3. Constraints (optional)

Example

# Parameter definitions
OS: Windows (10), Linux, macOS, ~InvalidOS
Browser: Chrome, Firefox | Gecko, Safari, Edge
RAM: 4GB, 8GB, 16GB, 32GB

# Sub-models
{ OS, Browser } @ 3

# Constraints
IF [OS] = "Linux" THEN [Browser] <> "Safari";
IF [OS] = "macOS" THEN [Browser] <> "Edge";

Parameter Syntax

ParameterName: Value1, Value2, Value3

Weights

Append (N) to bias generation toward a value:

OS: Windows (10), Linux, macOS

Windows will appear ~10x more often than Linux or macOS when the choice doesn't affect coverage.

Negative Values

Prefix with ~ for negative testing:

OS: Windows, Linux, ~InvalidOS

Aliases

Separate with | to define alternate names:

Browser: Firefox | Gecko, Chrome | Chromium

Sub-Model Syntax

{ Param1, Param2, Param3 } @ Order

Constraint Syntax

See Concepts: Constraints for the full constraint language.

Comments

Lines starting with # are comments:

# This is a comment
OS: Windows, Linux, macOS

Importing .pict Files

In the UI

Click Import PICT (Ctrl+I) and select a .pict file. ProTest parses it and populates the Parameters, Constraints, and Sub-Models tabs.

On the CLI

Use a .pict file directly as input:

protest generate -i model.pict -o results.csv

Exporting to .pict

In the UI

Click Export PICT to save the current model in .pict format.

On the CLI

Specify .pict as an output format:

protest generate -i model.cahtt -o model.pict

Note: This exports the model text only, not the generated results.