Meet "Helium" the Software Coding Robot
Helium, a software coding program, can rewrite rotten legacy computer code in an hour. It would take expert programmers months to do the same task.
Moreover, Helium's code is up to 500% faster than legacy code. This is especially true of unoptimized Windows code and imaging software such as Adobe Photoshop.
Bit-Rot
Please consider Computer Program Fixes Old Code Faster than Expert Engineers.
Is this simply reverse engineering, or is this the beginning of the end of the programmer?
Mike "Mish" Shedlock
http://globaleconomicanalysis.blogspot.com
Read more at http://globaleconomicanalysis.blogspot.com/#1ZZljxRIMkSfWOOz.99
Helium, a software coding program, can rewrite rotten legacy computer code in an hour. It would take expert programmers months to do the same task.
Moreover, Helium's code is up to 500% faster than legacy code. This is especially true of unoptimized Windows code and imaging software such as Adobe Photoshop.
Bit-Rot
Please consider Computer Program Fixes Old Code Faster than Expert Engineers.
Last year, MIT computer scientists and Adobe engineers came together to try to solve a major problem that many companies face: bit-rot.Question of the Day
A good example is Adobe’s successful Photoshop photo editor, which just celebrated its 25th birthday. Over the years Photoshop had accumulated heaps of code that had been optimized for what is now old hardware.
“For high-performance code used for image-processing, you have to optimize the heck out of the software,” says Saman Amarasinghe, a professor at MIT and researcher at the Computer Science and Artificial Intelligence Laboratory (CSAIL). “The downside is that the code becomes much less effective and much more difficult to understand.”
Enter Helium, a CSAIL system that revamps and fine-tunes code without ever needing the original source, in a matter of hours or even minutes.
The team started with a simple building block of programming that’s nevertheless extremely difficult to analyze: binary code that has been stripped of debug symbols, which represents the only piece of code that is available for proprietary software such as Photoshop.
A particular type of computational kernel popular for such software are “stencil kernels,” which allow you to do operations for entire areas of pixels. Stencil kernels are especially important to update because they use huge amounts of memory and compute power, and their performance degenerates quickly as new hardware become available.
With Helium, the researchers are able to lift these kernels from a stripped binary and restructure them as high-level representations that are readable in Halide, a CSAIL-designed programming language geared towards image-processing.
Going from binary to high-level languages was a big leap that the team originally didn’t think was doable, according to lead author Charith Mendis.
“The order of operations in these optimized binaries are complicated, which means that they can be hard to disentangle,” says Mendis, a graduate student at CSAIL. “Because stencils do the same computation over and over again, we are able to accumulate enough data to recover the original algorithms.”
From there, the Helium system then replaces the original bit-rotted components with the re-optimized ones. The net result: Helium can improve the performance of certain Photoshop filters by 75 percent, and the performance of less optimized programs such as Microsoft Windows’ IrfanView by 400 to 500 percent.
Is this simply reverse engineering, or is this the beginning of the end of the programmer?
Mike "Mish" Shedlock
http://globaleconomicanalysis.blogspot.com
Read more at http://globaleconomicanalysis.blogspot.com/#1ZZljxRIMkSfWOOz.99