Max Willsey et al
Many software tools, including compilers, optimizers and synthesizers, have a common task at their core. They must transform long, complicated programs into simplified equivalents. These scaled-down programs run faster and on a wider range of hardware but must deliver the same results as their original versions.
Complicating this process is the ad hoc nature of the problem; each type of program requires a custom approach to achieve these efficiency gains. From shrinking three-dimensional CAD models to optimizing SQL queries so websites load faster, there is no one-size-fits-all solution.
A reusable shortcut for optimization
Pavel Panchekha, associate professor at the University of Utah's Kahlert School of Computing, is working to change that. Along with colleagues from the University of Washington, he has developed an open-source toolkit called egg, a generalized, reusable approach to this problem.










