Bottom-Up Generation
ConceptIn software and hardware testing, bottom-up generation is a methodology for synthesizing program or design code by first constructing a syntactically valid skeleton (a partial template) and then completing it through type/name inference and code injection, rather than by starting from a small valid core and expanding outward as in top-down generation. This approach is exemplified by the ChiGen Verilog fuzzer, which uses probabilistic grammars guided by k-gram production-rule statistics, Hindley-Milner type inference to assign names and types, and Li-Zhendong-style code injection enabled by data-flow analysis. By decoupling skeleton construction from completion, bottom-up generation can produce both semantically valid and intentionally invalid specifications, enabling broader coverage of language productions and richer fuzzing of tools such as EDA platforms and formal verifiers.
WIKI
Definition
Bottom-up generation refers to a code-synthesis strategy in which a program or hardware-design source file is built in two phases:
- Skeleton construction – First, a syntactically valid but incomplete template (skeleton) of the target language is produced via a probabilistic grammar.
- Skeleton completion – Second, the skeleton is completed by inferring identifiers, types, and additional code, yielding a full source-level artifact.
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →