misim
Pair Programming with AI
In a conversation with Kevlin Henney, we started talking about the kinds of user interfaces that might work for AI-assisted programming. This is a significant problem: neither of us were aware of any significant work on user interfaces that support collaboration. However, as software developers, many of us have been practicing effective collaboration for years. It's called pair programming, and it's not at all like the models we've seen for interaction between an AI system and a human. Most AI systems we've seen envision AI as an oracle: you give it the input, it pops out the answer.
MISIM: A Novel Code Similarity System
Ye, Fangke, Zhou, Shengtian, Venkat, Anand, Marcus, Ryan, Tatbul, Nesime, Tithi, Jesmin Jahan, Hasabnis, Niranjan, Petersen, Paul, Mattson, Timothy, Kraska, Tim, Dubey, Pradeep, Sarkar, Vivek, Gottschlich, Justin
Code similarity systems are integral to a range of applications from code recommendation to automated software defect correction. We argue that code similarity is now a first-order problem that must be solved. To begin to address this, we present machine Inferred Code Similarity (MISIM), a novel end-to-end code similarity system that consists of two core components. First, MISIM uses a novel context-aware semantic structure, which is designed to aid in lifting semantic meaning from code syntax. Second, MISIM provides a neural-based code similarity scoring algorithm, which can be implemented with various neural network architectures with learned parameters. We compare MISIM to three state-of-the-art code similarity systems: (i)code2vec, (ii)Neural Code Comprehension, and (iii)Aroma. In our experimental evaluation across 328,155 programs (over 18 million lines of code), MISIM has 1.5x to 43.4x better accuracy than all three systems.
Neural networks could help computers code themselves: Do we still need human coders? - Stack Overflow Blog
The next big revolution in coding practice might be closer than we think, and it involves helping computers to code themselves. By utilizing natural language processing and neural networks, some researchers think that within a few years we can remove humans entirely from the coding process. If you work as a coder, you'll be glad to hear that they are wrong.
Software developers: How plans to automate coding could mean big changes ahead
For the vast majority of humans, writing code is akin to learning a new language โ but researchers from Intel and MIT are on a mission to change that. And the solution they are coming up with is to build codeโฆ that can code. Called machine programming, the field that the researchers are looking at is concerned with automating software development. And the team has just revealed a new tool that takes developers one step closer to the prospect of, one day, having machines that can program themselves. MISIM (Machine Inferred code Similarity), the new technology invented by Intel and MIT's labs, effectively studies snippets of code to understand what a piece of software intends to do.
Computers on verge of designing their own programs
Computer programmers may soon design the ultimate program: A program that designs programs. Last week, a team led by Justin Gottschlich, director of the machine programming research group at Intel, announced the creation of a new machine learning system that designs its own code. They call the system MISIM, Machine Inferred Code Similarity. Gottschlich explained, "Intel's ultimate goal for machine programming is to democratize the creation of software. When fully realized, machine programming will enable everyone to create software by expressing their intention in whatever fashion that's best for them, whether that's code, natural language or something else. That's an audacious goal, and while there's much more work to be done, MISIM is a solid step toward it."
Intel, MIT and Georgia Tech Deliver Improved Machine-Programming Code Similarity System
What's New: Today, Intel unveiled a new machine programming (MP) system โ in conjunction with Massachusetts Institute of Technology (MIT) and Georgia Institute of Technology (Georgia Tech). The system, machine inferred code similarity (MISIM), 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. "Intel's ultimate goal for machine programming is to democratize the creation of software. When fully realized, MP will enable everyone to create software by expressing their intention in whatever fashion that's best for them, whether that's code, natural language or something else. That's an audacious goal, and while there's much more work to be done, MISIM is a solid step toward it."
This AI Could Bring Us Computers That Can Write Their Own Software
When OpenAI first published a paper on their new language generation AI, GPT-3, the hype was slow to build. The paper indicated GPT-3, the biggest natural language AI model yet, was advanced, but it only had a few written examples of its output. Then OpenAI gave select access to a beta version of GPT-3 to see what developers would do with it, and minds were blown. Developers playing with GPT-3 have taken to Twitter with examples of its capabilities: short stories, press releases, articles about itself, a search engine. Perhaps most surprising was the discovery GPT-3 can write simple computer code. When web developer, Sharif Shameem, modified it to spit out HTML instead of natural language, the program generated code for webpage layouts from prompts like "a button that looks like a watermelon."
A neural network that spots similarities between programs could help computers code themselves
That's why some people think we should just get machines to program themselves. Automated code generation has been a hot research topic for a number of years. Microsoft is building basic code generation into its widely used software development tools, Facebook has made a system called Aroma that autocompletes small programs, and DeepMind has developed a neural network that can come up with more efficient versions of simple algorithms than those devised by humans. Even OpenAI's GPT-3 language model can churn out simple pieces of code, such as web page layouts, from natural-language prompts. Gottschlich and his colleagues call this machine programming.