3 min

Microsoft last year presented IntelliCode, which uses artificial intelligence (AI) to make intelligent suggestions to improve code quality and productivity. Today, Visual Studio IntelliCode is widely available in Visual Studio 2019 and Visual Studio Code. But according to Amanda Silver, director of the developer department, IntelliCode should come to the entire life cycle of app development.

Silver opposes VentureBeat that Microsoft with IntelliCode wants to assist developers with AI at every point. “If you look at the entire life cycle of application development, from code review to testing to constant integration, there are opportunities for machine learning to help at every stage.

“IntelliCode is, to put it very broadly, the notion that we want to take on artificial intelligence – especially machine learning techniques – and make developers and developer teams more productive with it,” says Silver, who says that the technology is still in its early stages, but that it can eventually be applied to the entire life cycle of application development.

Three factors

The Silver team looks at three factors to determine what has the highest priority in applying AI to the development lifecycle. First of all, we look at what is valuable for customers and for the developers. What are the biggest pain points they encounter and what can Microsoft really help with?

In addition, we are looking at whether Microsoft has good datasets for these facets. Machine learning models are trained on large datasets, and without them there’s little you can do. Finally, a feedback loop is required. There must be a metric that needs to be improved, and there must be a way of measuring whether it is actually improved.

“Finally, before we bring any of these things to production or beta, we have to think about the user experience,” says Silver. “After doing an analysis of what is valuable to the customer, we look at the data and whether we have a metric. Then we actually have to make a model. That model has a certain amount of accuracy and predictions.”

“Some models are better than nothing, but not good enough or really much better for the user experience. If the model isn’t accurate enough, we won’t release it. We’ll keep trying to improve the model before we make it available.”

Future IntelliCode

So we are still working hard to further expand the capabilities of IntelliCode. For example, early prototypes have been played with, which help to find mistakes. During the recently held Build 2019, Microsoft also showed a preview of an algorithm that can follow changes locally and suggest places where the same change should be placed.

Also, Microsoft has been working on the language it uses to show suggestions to developers. That language became even more important when the company experimented with using AI to find errors. “We discovered in our internal tests that the way in which we communicate the identification of an error to a user can really change the way in which they respond to that error,” says Silver.

“Part of the reason for this is that developers are really trained to respond to discrete reactions from the machine. They expect things to be true or false. We found a mistake, or we didn’t. But what is uncomfortable – and I think we need to find a way to navigate it – are probabilistic results in our analyses.”

For example, according to Silver, developers don’t like messages like “70 percent of your code base meets this style” and “There’s an 85 percent chance there’s a mistake here”. That’s why the team is working on a way to help developers make informed and reasonable decisions based on the information without making them angry.

This news article was automatically translated from Dutch to give Techzine.eu a head start. All news articles after September 1, 2019 are written in native English and NOT translated. All our background stories are written in native English as well. For more information read our launch article.