LESS - LESS (is more): Low-level External Superoptimizer for Smart contracts
Jan 2021 - Apr 2022
Time and space are costly resources in smart contracts based blockchain. The compilers
in use in smart contract blockchain are far from state of the art in regular compilation
techniques. The purpose of the project is to create an optimizer for Michelson based on
combinatorial optimization techniques, which are more suited to achieve significant
code improvements. The challenges tackled by this TRA are general to programmable
smart contracts based blockchain, and to low-level machine code optimization. Tezos
and Michelson are the concrete testbed which we will base our findings on.
1. Identify optimization criteria/metrics
2. Identify methods and techniques to optimize Michelson code
3. Devise a generic framework for identity code optimization
4. Ensure scalability (code size and available computational resources)
5. Exploration of Metaheuristics and combinations thereof w.r.t. appropriateness
for optimizing Michelson and similar low-level machine code
The tools we will develop will be built on an existing framework for combinatorial
The outcome of this TRA and its ensuing developments will improve on the state of the
art in code superoptimization.
The resulting tool will be based on a well-supported community framework for
Constraint modeling and optimization, resorting (but not limited to) hybrid
Having a unique concrete low-level target (Michelson) will ease the realization of the
goals for this project but the development will be designed so as to facilitate the
application to different machine code ISAs and cost models.