Meet "Helium" the Software Coding Robot

来源: career 2015-07-13 19:56:35 [] [旧帖] [给我悄悄话] 本文已被阅读: 次 (3784 bytes)
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.
Last year, MIT computer scientists and Adobe engineers came together to try to solve a major problem that many companies face: bit-rot.

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.
Question of the Day

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
请您先登陆,再发跟帖!

发现Adblock插件

如要继续浏览
请支持本站 请务必在本站关闭/移除任何Adblock

关闭Adblock后 请点击

请参考如何关闭Adblock/Adblock plus

安装Adblock plus用户请点击浏览器图标
选择“Disable on www.wenxuecity.com”

安装Adblock用户请点击图标
选择“don't run on pages on this domain”