Your spec is not brittle because it is strict — it is brittle in proportion to how much it names your internals
A specification is a predicate over behaviour, and the advice for writing one is uniform: make it stronger. Pin more of the observable behaviour, add another invariant, tighten the bound. It is good advice for a predicate that is written once and read once. Most predicates are not read once. They are maintained, and the same clause that rejects a defect rejects the legitimate change you make next…
A specification is a predicate over behaviour, and writing one involves making it stronger by adding more invariants and tightening the bounds. However, the problem lies in how much the specification names the internals of the system, as this directly affects its brittleness. The article examines two constructs: observational specificity (s) and representation exposure (r), which are computed from the specification's own text.
The former measures the share of observable behaviour that the specification pins, while the latter measures the share of clauses that mention internals. These constructs are measured independently on a small straight-line expression language over Z_256, with a program's meaning being its complete 256-point table. The study then measured how these constructs react to legitimate changes and defects in 262 references, 591 semantics-changing mutations, and 2160 semantics-preserving mutations.
The results show that the two channels have different arguments, with detection rising with specificity and breaking at zero exposure. Breakage, on the other hand, is zero at every grade of specificity and increases steeply as representation exposure increases. The optimal specification, according to the study, is the empty specification, as it rejects all semantics-changing mutations and does not falsely reject any legitimate changes.
The article concludes by emphasizing that the split in specification strength is a crucial factor in determining a specification's brittleness and should not be overlooked.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.