GigaGenSOM
GigaGenSOM generates sources files in the SOM (Simple Object Machine) language. Its main goal is to generate large codebases that can be used to evaluate how virtual machines cope with millions of lines of code.
Goals
- Generate code that can be parsed without error
- Generate code that is executable
- Generate code that shows somewhat realistic behavior
- Have a tool that is independent of any specific SOM implementation
- Keep it simple. This isn't a research project into how to generate code.
Non-Goals
To scope the project the current set of non-goals includes:
- Building a code generator as input for fuzzing
- Building a pretty printer or automatic code formatter
- Integrate with an existing SOM code base
To Do
- Generate Smalltalk-style methods
- should size distribution be based on real data?
Why Python
- this is considered tooling, most tooling in the SOM repos is either based on shell scripts or Python
- we need Python already for benchmarking
- we have PySOM/RPySOM as sources for some possibly relevant code bits