How Machine Learning Will Affect Software Development
Better quality, more secure software, delivered more quickly.
Join the DZone community and get the full member experience.Join For Free
To learn about the current and future state of machine learning (ML) in software development, we gathered insights from IT professionals from 16 solution providers. We asked, "What’s the future for using ML in the SDLC from your point of view — where do the greatest opportunities lie?" Here's what we learned:
You might also like: TechTalks With Tom Smith: Using Machine Learning in Software Development — Keys to Success
- Modern software systems emit a tremendous amount of “machine data” (logs, metrics, etc.) that can be crucial to identifying and understanding misbehavior, but the quantity and complexity of this data is outpacing the human ability to do the required analysis and take timely action. For this reason, I think we will see a lot of opportunities to build automated systems that analyze (and even act) on this machine data in order to improve the security, performance, and reliability of economically critical software services. That said, there’s also a lot of exciting research around “ML on code”: automatically identifying risky pull requests, automated bug localization, intelligent IDE assistance, and so on. Given the well-known challenges of building and operating software systems, there is likely to be plenty of room for improvement across the entire lifecycle. Overall, I think we’re heading into a really interesting time for the application of ML techniques to software development, security, and operations.
- Suggest tests to offer. Here are 30 more tests that can help you achieve greater coverage. The thing that was going to take 10 to 20 years may only take five years.
- It is unlikely to replace the human factor in software development. ML is unable to decide what’s right or wrong. It will continue to identify more tests that can be automated. You will be able to deliver more, faster, with more quality and less human involvement by solving and automating small tasks done on a day-to-day basis to make intelligent decisions.
- The great promise lies in the speed of development and production — enabling us to do so much more with our time. The simplicity in which we can introduce feedback and iteration cycles has given us the opportunity to iterate and focus on outcome-led programming. The ability to go beyond what humans are able to accomplish in the development of software. There’s also plenty of opportunity in terms of making the way we create and produce software much faster. But for me, the opportunity really lies in the opportunity for humans and machines to work together intelligently — moving the programmer’s role on, building new skills and freeing them up to focus on what they are good at, and letting the machines deal with the mundane.
- The next generation of apps that use ML will be seamlessly integrated and ML will be in the fabric of the app, so the ML is operating on real-time data, being retrained, and the testing and decision making is being done in real-time. Develop an integrated platform that integrates the ML in the data platform to power the volume of data necessary.
- Giving humans the chance to focus on what we’re good at like creativity and problems that require non-linear thinking. Automate repetitive tasks. AI is augmented intelligence. Use AI to automate specific tasks around the cleaning and preparation of data and dashboard creation. How to interact with technology without having BI training.
- It seems that there are a lot more opportunities in mixing classical robotic algorithms with ML. ML can boost performance in some aspects of the algorithms while keeping the transparency of an original method under control.
Here’s who we heard from:
- Dipti Borkar, V.P. Products, Alluxio
- Adam Carmi, Co-founder & CTO, Applitools
- Dr. Oleg Sinyavskiy, Head of Research and Development, Brain Corp
- Eli Finkelshteyn, CEO & Co-founder, Constructor.io
- Senthil Kumar, VP of Software Engineering, FogHorn
- Ivaylo Bahtchevanov, Head of Data Science, ForgeRock
- John Seaton, Director of Data Science, Functionize
- Irina Farooq, Chief Product Officer, Kinetica
- Elif Tutuk, AVP Research, Qlik
- Shivani Govil, EVP Emerging Tech and Ecosystem, Sage
- Patrick Hubbard, Head Geek, SolarWinds
- Monte Zweben, CEO, Splice Machine
- Zach Bannor, Associate Consultant, SPR
- David Andrzejewski, Director of Engineering, Sumo Logic
- Oren Rubin, Founder & CEO, Testim.io
- Dan Rope, Director, Data Science and Michael O’Connell, Chief Analytics Officer, TIBCO
Opinions expressed by DZone contributors are their own.