Tariq Shaukat15:37
Yeah, I think there's actually a couple of different aspects to this. One of them is, you're absolutely right. GenAI code has bugs, it has stylistic issues, it's got maintainability issues, it has security issues that are getting introduced, and in many cases it's actually introducing new vectors on which you can have a problem. There are new ways of potentially causing security issues inside of your codebase using GenAI that really didn't exist as much in the more traditional world. So you do have—GenAI code is not perfect. And it's not for English language search things either, right? This weekend I was trying to write something for a board and I said, 'oh ChatGPT, give me a bunch of sources,' and it turned out it made up three of the sources. And thank goodness I double-checked the URLs that it gave me. So it's a good lesson learned that the way the math works on GenAI systems is it is going to have hallucinations—they're a feature, not a bug, in many cases—and that does have real-world implications on your code base, on your security, and on the reliability of the software that you're shipping. But I'd say that's a known problem. It may be not a fully appreciated problem, but it's a known problem. You can look at the research, there's a lot of research that's been published recently that talks about this issue. The part that we think is as big a problem and maybe a bigger problem is that while people, if you push them on it, they understand that there's issues, there is this accountability crisis—I really think 'crisis' is starting to be the real word here—of who's actually responsible for the AI-generated code. And it's very easy to say, 'oh, the developer that's using the code generator is,' but it's almost human nature—you don't hire a software developer, they didn't go to school, they didn't learn how to write code to become a copy editor for AI. One of my customers, a large financial institution, told us a story a couple of months ago now of—they were starting to have a minor outage a week because of AI-generated code. And it's not because the systems are flawed—the systems are actually quite good—they're just not perfect. They have this one example of—they figured out there was this line of code that was buggy, they traced it back to the developer who checked it in, they went to the developer and said, 'hey, so what happened here, let's do the postmortem.' And the response was, 'well, that's not my code.' 'What do you mean? You checked it in.' 'Well yeah, but the AI gave me the code and I just accepted it.' And I'm not at all saying that developers are being lazy or not doing their job—it's that we're asking them to do a job that really is not what they signed up for, not what they're trained to do. And humans, unless this is your skill set, you're not trained to sit there and look at hundreds of lines of code that are being written by AI and double-checking it. And so this is why we think having some automated checks, tools like SonarQube, this AI Assurance workflow we've put in place, is so important, because you have this accountability crisis and the solution to that is to make sure you've got really robust workflows and you're doing rigorous code reviews. And by the way, most developers who are listening would say 'duh, of course this is what you should do'—this is like best practice in software development in general. And that's true, but I think there's been this misperception in a way of 'this will be easy in the AI world,' and I actually am finding that it is substantially harder for the reasons that I said just a minute ago.