If developers neglect software for too long, the code inside begins to rot and becomes useless. According to researchers at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL), this is a “billion-dollar problem” for companies, and takes a massive amount of time and resources to go back every few years to revitalize the old code.
To solve this problem, researchers have developed Helium, a system designed to automatically revamp and fine-tune code in order to give programmers the ability to focus on other tasks.
(Related: MIT scientists develop an automatic code-repair system)
“We’ve found that Helium can make updates in one day that would take human engineers upwards of three months,” said Saman Amarasinghe, professor and researcher at CSAIL, according to MIT News.
“A system like this can help companies make sure that the next generation of code is faster, and save them the trouble of putting 100 people on these sorts of problems.”
Software rot can occur with the emergence of new technologies and hardware that can change the way software operates.
“Highly optimized programs are prone to bit rot, where performance quickly becomes suboptimal in the face of new hardware and compiler techniques,” the researchers wrote in a paper.
The researchers used Helium to replace bit-rotted components in Adobe Photoshop and improved its performance by 75%. In addition, the researchers said it can improve performance in less-optimized programs by 400% to 500%.
“We believe that fully dynamic techniques, introduced in Helium, are a promising direction for lifting important computations into higher-level representations and rejuvenating legacy applications,” the researchers wrote.
The system can also detect how programmers devised old code and provide better insight into how programmers code.
“We can see the ‘bit hacks’ that engineers use to optimize their algorithms as well as better understand the larger context of how programmers approach different coding challenges,” said Amarasinghe.