 ##  [Underspecification](/underspecification-0) 

 Definition

A condition in which a specification (formal or informal) omits constraints on essential aspects of intended behavior, leaving multiple unintended interpretations or implementations possible.

 

 

 

 

 

 





## Principle

Principle

Specifications must constrain behavior sufficiently to exclude undesirable degrees of freedom; underspecification arises when necessary invariants, pre/post-conditions, or environmental assumptions are omitted or left implicit.

 

 

 

 

 





## Demonstration

Demonstration

A protocol definition that specifies message formats but does not specify endianness or error-handling semantics allows interoperating implementations to make divergent choices, producing incompatible behaviors despite adherence to the literal spec.

 

 

 

 

## Misapplication

Misapplication

Treating every flexible or extensible interface as underspecified ignores purposeful design for variability; conversely, calling a deliberate design choice 'underspecification' mistakes tolerable openness for error.

 

 

 

 

 





## Consequence

Consequence

Identifying underspecification leads to adding constraints, normative choices, test suites, or decision procedures; failing to address it yields interoperability problems, latent bugs, and divergent implementations that violate user expectations.

 

 

 

 

## Reversal

Reversal

Overspecification: a complementary failure mode where a specification imposes unnecessary constraints, reducing implementer freedom and possibly preventing legitimate optimization or variation.

 

 

 

 

 





## Boundary

Boundary

Applies to those parts of a specification where intended behavior must be determinate for correctness; does not condemn every omission (some omissions are intentional to allow extension), but flags omissions that undermine intended guarantees.

 

 

 

 

 





## Semantic Tension

Semantic Tension

Competes with notions of design flexibility and abstraction: underspecification critiques absent constraints, while flexibility defends leaving choices open; resolving the tension requires explicit policy about which choices must be canonical versus which may vary.

 

 

 

 

 





## Synthesis

Synthesis

Underspecification is the absence of necessary constraints in a specification that permits unintended variability; addressing it requires clarifying invariants, assumptions, and normative behaviours through added axioms, tests, or normative documentation.