MISIM — The Rise of Machines — Software creating Software
Have you ever spent countless days and nights trying to take an idea to the product? Have you released a product to market only to find out a few days later that the code was buggy? Well, all these questions would be that of the past as Intel unveiled MISIM — A joint initiative by Intel, MIT, and Georgia Tech.
What is MISIM?
MISIM stands for Machine Inferred Code Similarity. MISIM can determine whether two different source codes with different data structure and algorithm generates similar output, thus becoming the first step towards the grander vision of Machine Programming. It is an automated engine designed to learn what a piece of software intends to do by studying the structure of the code and analyzing syntactic differences of other code with similar behavior.
MISIM works by comparing snippets of code with millions of other programs it has already seen, taken from a large number of online repositories. First, it translates the code into a form that captures what it does but ignores how it is written. MISIM then uses a neural network to find other code that does a similar job.
Even though Intel intends to use this tool to suggest how to code efficiently, theoretically there are possibilities where a machine can create software on its own based on the intent provided to it.
Potential Applications of MISIM
Faster Time to Market for Software Products
Organizations face the challenge of finding skilled coders who can implement complex logic efficiently. This often leads to cases where the product takes a longer time to develop. Or in other cases, the releases are buggy leading to frequent patchwork. MISIM can reduce the Time to Market by suggesting the better way to code the logic, or better write the code by itself!
Eliminating Inefficiencies in Existing Source Code
Coders are aware of the nightmarish task of looking at someone else’s code to make it more efficient. Between fixing someone’s code and writing your own code from scratch, coders will typically choose the second option. This is because human beings are creative and find it more gratifying to create something of our own. Machines, however, have no such bias. With the intent of the existing programs known, MISIM can theoretically fix the code inefficiencies in no time.
Lesser Security Vulnerabilities
Security is a big concern for all organizations. For some organizations like banks, hospitals, government institutions, security breaches can potentially affect millions. With the frequency of security attacks increasing day by day, MISIM can have your back. It can look at the existing code base to determine the vulnerabilities, and even fix them. How cool will that be!
Let’s Look At The Other Side Of The Coin
With more stabilization and features added to MISIM, the benefits of it might increase for sure.
Now let’s talk about the drawbacks of MISIM.
I am sure the title of this post was enough for this picture flashing in your minds.
With the needle bending towards the negative scale however, it might very well take a “U” turn. Non-coders with malicious intent can use this tool with ease. Your neighbor can create a spying program to spy on your network traffic. Phishing might be on the rise. Someone well versed with the stock exchange can use it to crash the system. The list can go on!
But isn't it the same with all great and powerful technology!
Certainly, this is a very exciting time for technologists. However, one should always keep in mind that
With great power comes great responsibility