Home Artificial Intelligence News AI for software development is already here

AI for software development is already here

Being a developer is more demanding than ever. The repetitive tasks that make up so much of software development can be time-consuming and error-prone. Talent is in short supply, teams are overworked, and many businesses can’t keep up with both increasingly complex existing code and the growing market for new application development

For AI enthusiasts, speculating about how artificial intelligence can improve software development is exciting. Will AI help create prototypes in days, instead of months or years? Will it teach human developers how to code better? AI research is broad, and the flexibility of computer programming is essentially limitless, so it’s hard to imagine what software development will look like when intelligent programs can help us interact with code.

But what many developers and tech managers don’t realise is that AI’s usefulness for development teams has made huge leaps in just the last several years. In fact, the early stages of AI-assisted software development are already here.

Automation Is Incomplete Without AI Assistance

It’s hard to find an organisation that doesn’t have efficient, agile software development as a goal, and automation technology has made agility achievable at scale. Automatically running tests has improved software quality in the last decade by allowing developers to get immediate feedback on their code changes and adjust accordingly. Automated software pipelines make use of robot assistants that generate pull requests, enabling the continuous delivery of updates. 

But the companies that have embraced the technology are sometimes finding that automation alone isn’t enough. Automated processes still have bottlenecks, most of which surround the creation of new code. For example, automating the execution of hundreds or thousands of unit tests can be done quickly, but it takes hours or weeks for the development team to write the tests themselves. Without tests to validate commits, automated pipelines promote junk. What would otherwise be an automatic process is broken up by the need for ongoing manual effort as new code (and new tests) are added. 

AI for Code

Currently, existing AI for code technology can address both of these issues in one go, by automatically writing test code that validates the rest of the automation pipeline. This type of task previously required a developer’s time, preventing them from doing the more fulfilling and value-adding work, such as creating new features. AI used for unit testing opens the door to the more complete automation of important, but slow and tedious, processes.

As might be expected, tests created by AI look different from those written by humans, but they will be produced in a fraction of the time and they function just as well, if not better, to ensure that any code-breaking changes are caught while it’s still easy to fix them. After all, as Martin Fowler has summed up in his 2006 article on Continuous Integration: “Imperfect tests, run frequently, are much better than perfect tests that are never written at all.”

In this way, AI can start to break down the trade-off between time, cost and quality of work that developers and IT managers struggle with. AI-assisted development can empower developers to create new products faster and more cost-effectively without compromising on quality. With repetitive tasks completed reliably and at speed, developers can get back to the creative tasks that attracted them to their jobs in the first place.

The Incredible Efficiency of AI 

In some industries that place a high value on the quality of their code, such as finance, AI-assisted software development is already in use. Goldman Sachs, for example, recently used AI for code to improve the efficiency of their software development. By leveraging an AI tool to write over three thousand unit tests for one legacy application with fifteen-thousand lines of code, they created an entire test suite in hours. Compared to spending an average of 30 minutes writing each unit test manually, the AI tool was able to write tests more than 180 times faster. All told, the bank managed to save over a year of developer time.

What’s Next?

As AI technology continues to advance and solutions for more use cases are developed, investments in AI for software development will become more common across industries. It won’t be long before integrating a new level of efficiency-boosting tools into the development process is a requirement in order to stay competitive and grow at scale. But in the meantime, the first iterations of AI-assisted software development are already here and giving a glimpse of what we can expect from the future of coding.

Source link

Must Read

Blockchain Is the new Internet

Blockchain’s evolution path is similar to the invention of the internet, and we are already in its second phase.The internet started its life over...

Process for Implementing a new technology strategy

<!----> Share this post:From blockchain pilot to production This episode of IBM Blockchain Pulse marks another first for our host Matt Hooper. He is welcoming back his first...

How AI can help close more Deals in a Downturn

Bottom Line: Understanding which pricing strategies cause buyers to progress through buying processes in a downturn still isn’t completely understood, but AI-based pricing can help...

Customizing Bond Liquidity for Clients through Machine Learnig

 Mark Goodman tells The TRADE about using machine learning technology to customise bond axes and liquidity for clients in UBS Bond Port.UBS has recently...

Neuroscience and the Free Energy Principle

https://media.blubrry.com/takeituneasy/s/content.blubrry.com/takeituneasy/lex_ai_karl_friston.mp3Karl Friston is one of the greatest neuroscientists in history, cited over 245,000 times, known for many influential ideas in brain imaging, neuroscience, and...

AI is revolutionising the Fashion Industry

Artificial intelligence is being woven into every facet of the dynamic fashion industry, from storeroom to shop window.The fashion industry is one of...

Extraction of Data from Templatic Documents

Templatic documents, such as receipts, bills, insurance quotes, and others, are extremely common and critical in a diverse range of business workflows. Currently, processing...

Using Blockchain for collaboration

<!----> Share this post:Blockchain and the disaster relief system Our latest guest is Chelsey Delaney, Global Design Lead for Blockchain Services at IBM, who brings a...

Open Banking and Blockchain

The finance industry continues to evolve thanks to technological advancement, sustained innovation, market dynamics, and changing customer needs. This evolution has accelerated in the last...

Biomedicine and Machine Learning

https://media.blubrry.com/takeituneasy/s/content.blubrry.com/takeituneasy/lex_ai_daphne_koller.mp3Daphne Koller is a professor of computer science at Stanford University, a co-founder of Coursera with Andrew Ng and Founder and CEO of insitro,...
banner image