Overview
Alignment Bias is a biasing constraint in the Genesys-Pro test-program generation framework that guides the generation engine to choose addresses satisfying a specified alignment requirement. The evidence describes it as an "alignment generic biasing constraint" whose parameters include an alignment size and an activation rate. In one example, the template sets an alignment size of 4 bytes with a 50% activation rate generally, while the Load instruction overrides this with a 16-byte alignment size and 100% activation rate. This causes the generation engine to select a 16-byte aligned address for the Load instruction. [Alignment-bias parameterization; Alignment-bias effect]
Use in constraint-based test generation
Genesys-Pro uses constraints and biases to steer generated tests while still satisfying architectural constraints. Alignment Bias is one such non-mandatory testing-knowledge constraint: it can be combined with other constraints, such as resource dependency bias, when generating instruction streams. [Alignment and resource-dependency experiment]
The evidence reports an experiment in which both Genesys-Pro and its predecessor Genesys were asked to generate load instructions with two biases simultaneously:
- 16-byte, or quad-word, alignment
- a read-after-write register dependency
The measured metric was the percentage of generated instructions satisfying both constraints as a function of test length. [Alignment and resource-dependency experiment]
Interaction with other biases
In the reported comparison, Genesys-Pro maintained a high success level across test lengths. The same evidence states that, in Genesys-Pro, the rate of simultaneously satisfying both Alignment Bias and resource dependency bias was the same as satisfying the resource dependency bias alone. By contrast, Genesys had a significantly lower success level that decreased with test length, and its simultaneous satisfaction rate was lower than the rate for either bias separately. [Genesys-Pro simultaneous-bias behavior; Genesys comparison]
Implementation context
The Genesys-Pro article attributes the improved ability to solve multiple constraints to its MAC-based approach, which postpones heuristic decisions until after considering architectural and testing-knowledge constraints. The cited text contrasts this with local heuristic search methods, which can weaken the ability to solve several constraints simultaneously and uniformly explore the search space. [MAC-based constraint solving]
Related supported concepts
- Genesys-Pro: the test-program generation framework in which Alignment Bias is described and evaluated.
- Genesys: the predecessor compared against Genesys-Pro in the alignment/resource-dependency experiment.
- Resource Dependency Bias: another bias used with Alignment Bias in the reported simultaneous-bias experiment; it controls dependencies or independence among resources used by nearby instructions.
- Cache Bias: a separate Genesys-Pro bias that generates memory access patterns causing cache events such as hits, misses, and line replacements.
- Translation Bias: a separate Genesys-Pro bias for triggering address translation mechanisms.