If you are looking for an answer to the question What is Artificial Intelligence? and you only have a minute, then here's the definition the Association for the Advancement of Artificial Intelligence offers on its home page: "the scientific understanding of the mechanisms underlying thought and intelligent behavior and their embodiment in machines."
However, if you are fortunate enough to have more than a minute, then please get ready to embark upon an exciting journey exploring AI (but beware, it could last a lifetime) …
Our first article in this two-part series addressed three areas of software development – Requirement Analysis, Design, and Engineering – that have already been influenced by AI to "automate automation" or accelerate maturity. As we continue to explore how the integration of engineering processes and AI will help shape future systems, this article will focus on three additional development aspects: Review/Testing, Operations, and Collaboration. We have come a long way since the days of traditional quality assurance, with new tools at our disposal including automated test environments, automated testing and "automated automation." As hypothesis-driven and test-driven development has enabled experimentation, it is imperative to left-shift quality control. In a high-performing enterprise, the onus lies on the developer to ensure all developed code causes no unexpected disruptions.
Visual Studio IntelliCode brings you the next generation of developer productivity by providing AI-assisted development. Every keystroke and every review is informed by best practices and tailored to your code context. You can try it out today by downloading the experimental extension for Visual Studio 2017 that provides AI-powered IntelliSense. IntelliCode is a set of AI-assisted capabilities that improve developer productivity with features like contextual IntelliSense, inference and enforcement for code styles, and focused reviews for your pull requests (PRs.) AI-assisted IntelliSense, and the other features shown at BUILD 2018, are just the start.
There has been much recent talk about the near future of code writing itself with the help of trained neural networks but outside of some limited use cases, that reality is still quite some time away--at least for ordinary development efforts. Although auto-code generation is not a new concept, it has been getting fresh attention due to better capabilities and ease of use in neural network frameworks. But just as in other areas where AI is touted as being the near-term automation savior, the hype does not match the technological complexity need to make it reality. Just in the last few weeks Google, Microsoft and IBM have announced new ways of boosting developer productivity with deep learning frameworks that fill themselves in--at least in part. The headlines exclaim that code is writing itself; that programmers will no longer be necessary.