Slashdot Mirror


Ubisoft is Using AI To Catch Bugs in Games Before Devs Make Them (wired.co.uk)

AI has a new task: helping to keep the bugs out of video games. From a report: At the recent Ubisoft Developer Conference in Montreal, the French gaming company unveiled a new AI assistant for its developers. Dubbed Commit Assistant, the goal of the AI system is to catch bugs before they're ever committed into code, saving developers time and reducing the number of flaws that make it into a game before release. "I think like many good ideas, it's like 'how come we didn't think about that before?'," says Yves Jacquier, who heads up La Forge, Ubisoft's R&D division in Montreal. His department partners with local universities including McGill and Concordia to collaborate on research intended to advance the field of artificial intelligence as a whole, not just within the industry.

La Forge fed Commit Assistant with roughly ten years' worth of code from across Ubisoft's software library, allowing it to learn where mistakes have historically been made, reference any corrections that were applied, and predict when a coder may be about to write a similar bug. "It's all about comparing the lines of code we've created in the past, the bugs that were created in them, and the bugs that were corrected, and finding a way to make links [between them] to provide us with a super-AI for programmers," explains Jacquier.

126 comments

  1. So... MS Word-level autocorrect? by Anonymous Coward · · Score: 0

    Just what we need: autocorrect/autoformatting on par with MS Word.

    Why not add clippy to your IDE while you're at it?

    1. Re: So... MS Word-level autocorrect? by xxxJonBoyxxx · · Score: 1

      So you've used Resharper too?

    2. Re: So... MS Word-level autocorrect? by Anonymous Coward · · Score: 1

      It looks like you're writing a loop! Should I refactor it into linq and sneakily introduce an O(n^2) complexity?

  2. Have they made P=NP then? by mark-t · · Score: 1

    I remember it being discussed in my software engineering class that trying to automate bug removal or detection could be shown to be isomorphic to solving Turing's halting problem.

    1. Re:Have they made P=NP then? by Anonymous Coward · · Score: 0

      Yea but that's only for something that actually works. In this case they just cranked some crap out, labeled it with AI and waited for the clicks to roll in.

    2. Re:Have they made P=NP then? by Anonymous Coward · · Score: 0

      Obviously not, but 24/7 automated brute forcing is going to find a good deal of bugs most likely. Much better than a punjabi will.

    3. Re:Have they made P=NP then? by Megol · · Score: 1

      So you say humans can solve the halting problem?

      The description doesn't make any claims that would make it impossible. It just detects patterns.

      And what do you mean with P=NP? Do you think that have something to do with the halting problem?

    4. Re:Have they made P=NP then? by ShanghaiBill · · Score: 2

      I remember it being discussed in my software engineering class that trying to automate bug removal or detection could be shown to be isomorphic to solving Turing's halting problem.

      Many people misunderstand the halting problem. It doesn't mean that you can't tell if a program halts. It just means you can't do so for ALL programs.

      Likewise, automated bug detection is possible. It just won't find ALL bugs.

      If it finds even 10% of the bugs, it is still a huge win. False positives are unlikely to be a show stopper: Like existing static-analysis, even if the false positives are not bugs, they are still often sloppy code that makes programs less readable.

    5. Re:Have they made P=NP then? by Anonymous Coward · · Score: 0


      I remember it being discussed in my software engineering class that trying to automate bug removal or detection could be shown to be isomorphic to solving Turing's halting problem.

      I'm certain you're correct. Your teacher should also have noted that most (all?) NP problems have approximate solutions that run in Polynomial time. This would be one of them. i.e. we don't have a perfect solution to the traveling salesman problem that runs in an amount of time we're OK with, but we have ones that are normally "good enough"

        If this particular solution is "good enough" is what's up for debate.

    6. Re:Have they made P=NP then? by GuB-42 · · Score: 1

      There is a difference between solving in the general case and a good enough solution.
      I can write you an efficient travelling salesman problem solver without solving P=NP, and I can write a program that can tell if your code will enter an infinite loop without solving the halting problem. It is just that it won't work every time. In some cases, it is all that's needed.

      In that case, the point is obviously not to solve the general case. There isn't even a formal definition of what a bug is.

    7. Re:Have they made P=NP then? by nedlohs · · Score: 1

      But since they don't require it detecting all bugs for it to be useful, that it it is impossible to do so for all bugs is irrelevant.

    8. Re:Have they made P=NP then? by Anonymous Coward · · Score: 0

      Many people misunderstand the halting problem. It doesn't mean that you can't tell if a program halts. It just means you can't do so for ALL programs.

      Right.

      Likewise, automated bug detection is possible. It just won't find ALL bugs.

      Wrong.

      If it finds even 10% of the bugs, it is still a huge win. False positives are unlikely to be a show stopper: Like existing static-analysis, even if the false positives are not bugs, they are still often sloppy code that makes programs less readable.

      Much better to write software with constraints necessary to enable systematic verification of aspects of interest then to adopt tactic of belching out code with fingers crossed that static analysis software won't miss anything.

    9. Re:Have they made P=NP then? by gweihir · · Score: 1

      It is. But you can make dumb, pattern-based systems that hide some of the obvious screw-ups of the incompetent (and thereby make these people more dangerous) and at the same time make the competent less productive, because they now have to conform to brain-dead rules. Sounds very much like this is what this system is doing.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    10. Re:Have they made P=NP then? by gweihir · · Score: 1

      If it finds even 10% of the bugs, it is still a huge win.

      I disagree. This is 10% less opportunity for the coders to increase their skills finding bugs on more benign mistakes (software cannot find hard to find ones). As humans are able to generalize, this also reduced harder to find mistakes. In the end, whenever something like this is done, you end up with more damage per remaining mistake, which may well make matters worse overall. As a second negative effect, this will lead PHBs to decide that they can now hire even cheaper coders.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    11. Re:Have they made P=NP then? by Anonymous Coward · · Score: 0

      It's NP to find all bugs. It's not NP to find "some" bugs. Using automated tools to point out likely sources of errors doesn't require NP-Complete solutions. It's also unlikely Ubisoft's going to use this tool as their only source of bug testing.

    12. Re:Have they made P=NP then? by ShanghaiBill · · Score: 2

      I disagree. This is 10% less opportunity for the coders to increase their skills finding bugs ...

      If you truly believe that more bugs are better, then you could just train the AI to insert extra bugs instead of detecting existing bugs.

      As a second negative effect, this will lead PHBs to decide that they can now hire even cheaper coders.

      If you truly believe that more bugs are better, then you should see this as a good thing, Bad programmers who write crappy code will give others plenty of bugs to practice on. Right?

      Good luck.

    13. Re:Have they made P=NP then? by ShanghaiBill · · Score: 1

      That is funny, becuae if you written an efficent traveling salesmen algorithm you had solved the P=NP question.

      A heuristic that can get within 1% of the absolute optimal solution in P time is efficient, but does not solve P=NP.

      there is no solution to the halting problem. No one evver asked to solve it. It is an axiom

      Hogwash. The halting problem is not an "axiom". It was considered an open problem until 1936, when it was proved impossible by Alan Turing. Turing's recursive proof was similar in structure to Godel's proof of the Incompleteness Theorem a few years earlier.

    14. Re:Have they made P=NP then? by ShanghaiBill · · Score: 1

      It's NP to find all bugs.

      It is not NP. It is impossible.

    15. Re:Have they made P=NP then? by Anonymous Coward · · Score: 0

      You cannot specify constraints to an extent that makes it possible to find all bugs. Writing a perfect (and viable) specification for a problem is tantamount to writing a perfect program that solves it.

    16. Re:Have they made P=NP then? by Anonymous Coward · · Score: 0

      most (all?) NP problems have [ P ] approximate solutions

      Certainly not all.

    17. Re:Have they made P=NP then? by Anonymous Coward · · Score: 0

      Not Possible.

    18. Re:Have they made P=NP then? by Anonymous Coward · · Score: 0

      That is funny, becuae if you written an efficent traveling salesmen algorithm you had solved the P=NP question.
      You clearly have no idea what you are talking about.

      It seems like you claim that NP always is inefficient.
      You have any proof to back that up?

    19. Re:Have they made P=NP then? by gweihir · · Score: 1

      You have failed to even begin to understand what I said.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    20. Re:Have they made P=NP then? by parkinglot777 · · Score: 1

      I believe the parent is talking about spoiling by making the process more convenient because programmers will then rely on the bug catcher program instead of themselves being more careful when they code. Though, I believe this is the trend that has been going on in human society. People rely on technology (for convenience) more and more which in turn make people dumber and dumber...

    21. Re:Have they made P=NP then? by angel'o'sphere · · Score: 1

      And why is it Hogwash what I said? When you exactly show that I'm right?

      There is no solution to the fact that an algorithm can not decide if an other algorithm halts (for a given input). So: there is no problem to solve here. Either call it a proven theorem or an axiom, axiom is easier imho.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    22. Re:Have they made P=NP then? by K.+S.+Kyosuke · · Score: 1

      That's a weird thing to discuss since that comparison makes no sense at all. You don't need to solve the halting problem to detect large classes of bugs in a useful way. Not to mention that in a software ENGINEERING class you ought to be concerned with completely different things than ivory tower speculations. For example, as Sussman writes, rejecting probabilistic prime tests on the basis of them being sometimes wrong but NOT rejecting "accurate" prime tests on the basis of the run time required being so long that cosmic rays actually make them less reliable than probabilistic prime tests is a dumb idea for a software engineer. To suggest that software engineers ought to be concerned with solving the halting problem is preposterous.

      --
      Ezekiel 23:20
    23. Re:Have they made P=NP then? by ShanghaiBill · · Score: 1

      People rely on technology (for convenience) more and more which in turn make people dumber and dumber...

      Socrates believed that learning to read and write makes people dumber because they no longer need to remember things.

      Are illiterate people smarter?

      Are programmers that turn off compiler warnings smarter?

    24. Re:Have they made P=NP then? by parkinglot777 · · Score: 1

      It all depends on how you view a situation. From your quote, Socrates was wrong because the read and write are actually a kind of making people remember. At the time he didn't know that. Even though your analogy sounds correct, I don't believe that it can be applied in this situation.

      I'm sorry that I use the wrong word. The correct word for word 'dumber' should be less careful'. When a tool is introduced to ease a process and people rely on the tool, they become more and more careless. Think about those programmers who used to program with punch cards and programmers nowadays, for example.

    25. Re:Have they made P=NP then? by ShanghaiBill · · Score: 1

      Think about those programmers who used to program with punch cards and programmers nowadays, for example.

      I am not sure what your point is. I am old enough to remember programming on punch cards. If you actually believe that programmers back then were better or more productive, then you are delusional.

      Sure, we were "more careful", in the sense that we spent hours scrutinizing code for syntax errors that a modern compiler could find in a millisecond. But it would be a pointless waste of time to do that today.

  3. Look! I've re-invented LINT! by bobbied · · Score: 4, Insightful

    The more things change, the more they stay the same....

    Anybody else remember LINT? I used to work a project that required that all compiler warnings be dealt with and anything reported by LINT was documented and explained IN THE CODE. It certainly didn't catch everything but it sure kept the code consistent and common logical issues from appearing too often.

    Now off my lawn....(snicker)

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    1. Re: Look! I've re-invented LINT! by Anonymous Coward · · Score: 0

      Looks like they've reinvented Coverity (a super-lint) and mandated the programmer run it before commit.

      We run Coverity post-commit as part of the CI process where I work and it definitely catches quite a few bugs. Quite a few of them are very subtly hidden. It is really a great tool.

  4. Code formatting: tabs or spaces by Anonymous Coward · · Score: 0

    What does AI think about that, that is the question!

  5. Yep, part of my job just got automated by Anonymous Coward · · Score: 0

    I've use a technique of investigating every error I find during code reviews or debug sessions to determine if the programmer has made the same error pattern in other code. If they have, I add detection of the pattern to a perl-based scanner that runs on code commit. The method has been extremely successful, partly because I am gifted with the use of regular expressions and LL parsers. It is not a method I have been able to teach others how to utilize despite many efforts to do so. Noone else on my teams has had the same instincts for automation of pattern detection. Consequently, it has been one of the unique offerings I've been able to bring to the bargaining table for much of my career.

    It is good that I only have another 15 years or so to retirement. I might just make it.

    1. Re:Yep, part of my job just got automated by Anonymous Coward · · Score: 0

      In 15 years or so, your retirement will be automated and automatically enforced.

  6. For Example... by raftpeople · · Score: 2

    AI: "Based on years of historical pattern matching, your commit has been flagged as 'needs review' for the following reasons:
    1 - First name of developer is 'Fred'"

    1. Re:For Example... by AmiMoJo · · Score: 1

      No need for AI, just search Stack Exchange to see if the code was cooy/pasted from there. Throw in some heuristics to account for refactoring...

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  7. "Before Devs Make Them" by oldgraybeard · · Score: 1

    If the dev AI/Automation is getting that good. Why are they not just doing a majority of the game development?

    I always hear the horror stories about how bad AI and Automation will affect burger flippers, etc.

    Seems to me the real jobs that will be affected are the white collar elites jobs. Bankers, Brokers, Developers, Judges, Lawyers, Programmers, etc. Imagine white collar professions minus the bias/corruption/prejudice because it is all just honest AI & Automation ;)

    Oh yea, honest AI/Automaton politicians, Sweet ;)

    Just my 2 cents ;)

    1. Re:"Before Devs Make Them" by idji · · Score: 1
    2. Re:"Before Devs Make Them" by oldgraybeard · · Score: 1

      Yes I read about the burger flipper, But you will still need a few people to clean and do maintenance in each kitchen at least for a while. With the white collar SOE (Subject Matter Expert) jobs. Once the AI/Automation is ready, it will just sit someplace in the cloud and many of those elite jobs/employees will be gone. With a lot fewer real people needed handle the special cases and to do maintenance, etc.

      Just my 2 cents ;)

    3. Re:"Before Devs Make Them" by Anonymous Coward · · Score: 0

      According to the article quote that makes up the summary, this "AI" is pattern matching new code against old code that had to be re-written to fix old bugs.

      It seems like a good idea, no sense rebuilding the same errors as last time.

    4. Re:"Before Devs Make Them" by sanf780 · · Score: 1

      Well, high frequency traders are replacing stock brokers already. Nobody misses the people selling and buying. The machines and the algorithms are making life miserable for the rest of us.

    5. Re:"Before Devs Make Them" by angel'o'sphere · · Score: 1

      The AI is not writing code.
      It is reviewing code.

      Small difference. AI will never write code, unless it is a near human level intelligent being.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    6. Re:"Before Devs Make Them" by JDShewey · · Score: 1

      Oh yea, honest AI/Automaton politicians, Sweet ;)

      No, they will just lie more efficiently. They are still politicians.

    7. Re:"Before Devs Make Them" by Anonymous Coward · · Score: 0

      AI politicians don't make sense if AI beats democratic voting.
      And which AI wouldn't get off having that kind of power?

      Captcha: prepare

  8. Is this a brown ball/red ball thing? by Photonmaker · · Score: 1

    Brown ball means bug we can fix after the release, red ball means we can't ship until the precog AI is made happy.

  9. OOP? by Anonymous Coward · · Score: 0

    I assume Ubisoft doesn't use OOP much?

    1. Re:OOP? by Anonymous Coward · · Score: 0

      I assume Ubisoft doesn't use OOP much?

      People rarely use OOP in real-time systems.

    2. Re:OOP? by Anonymous Coward · · Score: 0

      No, not really, at least not what most people think of when they hear OOP. As far as I can tell, most major console game developers use some flavor of ECS architecture, for the sake of efficiency on consoles and ease of developing games that focus on 'emergent gameplay.'

  10. Our days are numbered! by Anonymous Coward · · Score: 0

    It's coming soon - "Computer - write me a *Nix kernel."

    The days of the software developer will be gone someday.

    I mean, how many of us still program computers with patch cords?

  11. Driving camera controls by Athanasius · · Score: 1

    Maybe this AI can finally convinced them to give an option to NOT have the elevation angle of driving cameras try to reset to default after a couple of seconds? Drives me nuts in all their games, e.g. Watchdogs and Ghost Recon: Wildlands. Especially important if driving a taller vehicle.

    1. Re:Driving camera controls by CODiNE · · Score: 1

      You'd be better off modding the game and putting a NOP on that function call.

      --
      Cwm, fjord-bank glyphs vext quiz
    2. Re:Driving camera controls by ELCouz · · Score: 1

      Yeah...good luck with Denuvo DRM on Watchdogs. Damn thing run inside a VM which decrypt on the fly part of the game.

  12. Sounds like mostly hype by jetkust · · Score: 1

    Says it can detect 6 out of 10 bugs? Based on what? How would it even know what a "bug" was in the context of the game? The video also says it creates code signatures for bugs, but doesn't explain how. They explain the concept, but does it actually work? What specifically does it do? Without seeing examples, it's hard to imagine this tool does what they seem to be saying it does.

    1. Re:Sounds like mostly hype by angel'o'sphere · · Score: 1

      Oh man, you did not read the summary or the articfle? only watched a movie while being distracted on another web site?

      It is so super simple that I wonder why no one else had that idea before.

      A developers commits a piece of code to the source repository. Lets call that 'A'
      Later there is a bug found, which is in the issue tracker.
      Some guy fixes it.

      Now we have a ticket in the issue tracker connected to the source code repository: to the fix and thus also connected to the bug.

      Call that a rule or a hint. Or: a pattern.

      When ever a developer tries to commit code, the commit hook, aka the AI, checks the repository for patters that look similar to 'A' and sets a warning that it might be buggy, because something similar like 'A' was fixed before.

      The clue is to analyze the changed code, based on tickets that got fixed.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Sounds like mostly hype by jetkust · · Score: 1

      You just basically repeated what was said in the article but don't seem to get the gaping plot holes.

      You seem to think the idea of identifying a pattern in source code that is directly responsible for creating a bug is a "simple" task. They are talking about creating code "signatures". How? If anything, the article should be on that alone. But it's completely ignored. Also, there is this implied assumption that all bugs can be identified eventually by connecting them to previous bugs. Really? So if a characters shirt is the wrong color, the AI is going to know this based on patterns in previous code? That's what they said, isn't it? 6 out of every 10 bugs, but more learning is gonna make it 100 percent!!!!

    3. Re:Sounds like mostly hype by Anonymous Coward · · Score: 0

      Unfortunately the bug may be caused by the changed code in conjunction with other, surrounding code that remains unchanged. The same code used in some other context may be completely fine. This AI is more useful the less DRY your code base is.

    4. Re:Sounds like mostly hype by angel'o'sphere · · Score: 1

      6 out of every 10 bugs, but more learning is gonna make it 100 percent!!!!
      It never will be 100% as it needs bugs to learn from first, bugs that escape it right now but will be analyzed in later development phases when they get fixed.

      You seem to think the idea of identifying a pattern in source code that is directly responsible for creating a bug is a "simple" task.
      Yes it is. Super simple.

      I get a ticket, telling me to figure why there is one item always missing in the bill.

      I check out the source code from the git or SVN repository.

      I find the bug, an typical off by one bug and fix it.

      I probably changed *exactly* one line of code. but lets assume for readability I changed one more. For sake of argument lets say it was line 100 and 102.

      I commit my change back to the repository, mentioning the ticket number in the commit message.

      I close the ticket. The AI bot realizes a closed ticket and fetches the code change from the repository (which it can because it knows the commit contains the ticker number, or is done by the same person who closed the ticket). Of course it could work the other way around. Watch the repository, realize a commit, check the commit comment for the ticket number, check if that ticket is a bug ticket and closed)

      Anyway: in the end the bot has checked out the code change associated to the bug ticket. And then it checks what is the change: oh! It are the lines 100 and 102. So the old code of 100 and 102 obviously contained the bug, and the new code the fix.

      That was so easy, wasn't it? Now you only need to find the pattern in the lines 100 and 102. Probably with human help. And now you have a rule you can run on freshly written code, and if the rule/pattern matches in that code, the bot creates a ticket: potential bug, because of rule X.

      A code signature can be so easy as just counting the operators, so:

      for (int i=0; i < size -2; i++)

      becomes: =<;-;++

      Obviously that is to simple as the bug is the -2 which should have been -1.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    5. Re:Sounds like mostly hype by swilver · · Score: 1

      Unless of course if it needed to be - 2 because I'm doing something with pairs of elements...

      Anyway, good luck with this, let me know how it turns out.

    6. Re:Sounds like mostly hype by angel'o'sphere · · Score: 1

      I'm not working for Ubisoft.
      But actually I strongly consider to implement something like this.
      However most companies I worked for a bug fix was a partial rewrite.
      That would be pointless for such a system I think.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  13. Re:Look! I've re-invented LINT! by SirSlud · · Score: 1

    this is ..... not like LINT. Remember LINT? LINT is still in widespread use. This would be a complimentary tool to catch higher level bugs based on code heuristics in valid correct code beyond the safety checks that LINT looks for. This is not for doing what LINT does, and what LINT does is still very useful.

    --
    "Old man yells at systemd"
  14. auto QA test can just fail silently or pass but an by Joe_Dragon · · Score: 1

    auto QA testing can just fail silently or pass in a way that any real person will see it as an error.

    Also poor ui's / control setups are bugs that some auto system can not find as well but QA testers will find.

  15. Re:Look! I've re-invented LINT! by Anonymous Coward · · Score: 0

    I'm not a game developer, but from my understanding a game "dev" does very little programming in the traditional sense. Most games use pre-made engines such as unreal engine, unity, cryengine, etc. These guys are mostly doing scripting, world building, animation, modeling, progress triggers, hit boxes, etc. So assuming I'm correct on that, Lint would be useless for this. In that case, they've created Lint for another problem space.

  16. Re:Look! I've re-invented LINT! by enjar · · Score: 1

    Yes, indeed. We realized a lot of those compiler warnings were actually trying to tell us something (WOW!) and cleaned up our code base over the course of a number of years. We are now pretty much at the point where compiler warnings are generally viewed as errors, so the bar is very high and requires additional code review if you legitimately need to submit something that triggers a warning ... "the compiler is lying, I'm right" isn't good enough. We have a number of people on staff who are really good at figuring this out before it ships and shows up as a bug. It's also far more reassuring when you see your code compile really cleanly, makes a lot of other stuff far easier.

    It's also worth noting that there's plenty of stuff you can do when you are checking in code if your organization has come up with code guidelines. Checking for things like the present of tabs, copyright strings and a number of other things can be enforced.

  17. Re:Look! I've re-invented LINT! by bobbied · · Score: 1

    But it is the same concept as LINT.... It may be different from LINT but this really isn't a new idea, and it IS LIKE LINT...

    There have been static code analysis tools in use for decades now, LINT was among the first of these tools to find wide spread use and many have followed in its foot prints. This is NOT a new idea, even if the implementation method varies from the C program the initial LINT was/is.

    Read the Mythical Man Month.... There is nothing new... Each generation thinks their stuff is better, that they found the way, the silver bullet. I've watched a couple of generations of new programmers go though the same "Eureka! I've got it!" claims, only to discover the hard way what I discovered, the devil is in the details and there is no magic bullet.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  18. This is a horrible idea! by Gravis+Zero · · Score: 2

    How am I supposed to write myself a new minivan now?!

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:This is a horrible idea! by q4Fry · · Score: 1

      Get the AI to "correct" other people into writing it for you.

    2. Re:This is a horrible idea! by sysrammer · · Score: 1

      Once upon a time, our company decided to reward "innovation and OOB thinking" with a percentage of whatever savings we could produce. Within 3 weeks we had a proposal to drop our IBM mainframe and go with a competitor for a cool $600k savings in hardware, and more in licensing. Nothing ever came of it, of course. Undoubtedly they used our research in contract negotiations w/ IBM.

      --
      His ignorance covered the whole earth like a blanket, and there was hardly a hole in it anywhere. - Mark Twain
  19. Hype. AI is no match for Natural Stupidity by Anonymous Coward · · Score: 0

    Developers' abilities to create new and exciting bugs will continue to dominate until AI learns to code by itself.

  20. Tom Cruise ... by PPH · · Score: 1

    ... just rappelled into our cubicle. Should I worry?

    --
    Have gnu, will travel.
  21. Meh by Anonymous Coward · · Score: 0

    Just like their game trailers this will be a highly polished original idea that's looks like a game changer. Sadly when it's released reality will set in.

  22. That name, 'Ubisoft' by Mister+Liberty · · Score: 1

    It is so "eightyish".

  23. Re:Look! I've re-invented LINT! by ljw1004 · · Score: 1

    LINT is something that looks at your code for problems and reports them.

    A compiler is something that looks at your code for problems and reports them (and also generates output).

    This ubisoft tool is something that looks at your code for problems and reports them.

    Your colleague standing over your shoulder is something that looks at your code for problems and reports them.

    Your colleague who does code-review is something that looks at your code for problems and reports them.

    Your copy-editor is someone who looks at what you've written for problems and reports them.

    Your spell-checker is something that looks at what you've written for problems and reports them.

    Your grammar-checker is something that looks at what you've written for problems and reports them.

    It's kind of silly to say "this is LINT!" or "there is nothing new" as regards this story. The task of having feedback on what you've produced is at least as hold as humankind itself and has existed in every area of human endeavor, in a huge variety of ways, with feedback performed at a huge variety of times. Of course that aspect isn't new. Beyond that, this Ubisoft is as (un-)related to LINT as every single other tool I listed.

  24. Uh, ok. by ph0rk · · Score: 1

    Still no cure for Ubi's stupid design choices.

    --
    semantics are everything!
  25. AI is taking our jobs by AlanBDee · · Score: 1

    See, AI is replacing what we (consumers) used to do, especially for companies like Ubisoft. What do they expect me to do now, play the game without issue and enjoy myself? What am I going to complain about now?

  26. Re:Look! I've re-invented LINT! by Anonymous Coward · · Score: 0

    Amazing!!! You mean those warnings actually mean something sometimes? And that a lot of the bugs we make were actually known about years or even decades before we made them?!?! I'm laughing with you.

    I've known a lot of "senior-level developers" who don't even seem to think the warnings mean anything and they certainly don't believe in code guidelines. Funny stuff.

  27. I would be interested to know by Anonymous Coward · · Score: 0

    if they find more problems in the "hard" code or the "easy" bits.

    I have a hypothesis that the easy sections cause more problems for a couple of reasons:

    1. Inexperienced developers tend to get the less demanding code.
    2. Nobody takes easy jobs seriously, so they are more likely to assume something conceptually simple is correct.
    3. Obviously "hard" code gets more rigorously tested.

    Obviously I don't know this is the case but I would like to. For me the stats from the teaching database are more interesting than the machine learning system they fed it to.

  28. Except from a dev using the tool by jeff4747 · · Score: 2

    delete this

    "I'm sorry. I can't do that, Dave."

  29. Re:Look! I've re-invented LINT! by bobbied · · Score: 1

    Yea, I used to say that kind of thing when I was young too. Hubris lives on in the young. We had all the good ideas then too, we where better educated, fresh out of school and full of promise. But we where as stupid as those who came before us. Wisdom is hard won though experience and I've personally learned the grey beards of my day where right, there is really nothing new. Programming remains the same problem, though the names and faces have changed.

    Face it.. At the very best, this is just an extension of LINT and just static code analyzer like LINT was/is. They've been doing this kind of thing long before I came into this field fresh out of school and when you are old and grey, the newbies will "invent" the same thing AGAIN, and you can dig up this post and quote it.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  30. Re:Look! I've re-invented LINT! by angel'o'sphere · · Score: 1

    You should read the article.
    It has absolutely nothing to do with LINT and is not the same concept.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  31. Re:Look! I've re-invented LINT! by angel'o'sphere · · Score: 1

    No, it is not a static code analyzer.
    You seem to old to grasp new concepts.
    Why don't you read the article instead of continuing to make an idiot out of your self?

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  32. Re:Look! I've re-invented LINT! by Anonymous Coward · · Score: 0

    We are now pretty much at the point where compiler warnings are generally viewed as errors, so the bar is very high and requires additional code review if you legitimately need to submit something that triggers a warning ... "the compiler is lying, I'm right" isn't good enough. We have a number of people on staff who are really good at figuring this out before it ships and shows up as a bug.

    Highest warning levels in most compilers are reserved for speculative belching's about things the compiler has no means of understanding. This output is generally worth little nothing more than occasional browsing.

    You would do a lot better with static analysis software than wasting time "process whoring" high level compiler warnings.

    It's also worth noting that there's plenty of stuff you can do when you are checking in code if your organization has come up with code guidelines.

    Checking for things like the present of tabs, copyright strings and a number of other things can be enforced.

    Sounds like your typical obsessive compulsive pedant who cares more about scratching itches than producing shit customers can use and benefit from.

  33. Re:Look! I've re-invented LINT! by AmiMoJo · · Score: 2

    This sounds more like Clippy.

    "I see you are trying to write a state machine..."

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  34. Microsoft solved the Halting Problem ages ago by rsilvergun · · Score: 3, Informative

    For any given program f running on Microsoft Windows it will halt if you let it run long enough.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:Microsoft solved the Halting Problem ages ago by mark-t · · Score: 1, Interesting

      Technically speaking, all programs halt in actuality. I presented that point to my software engineering prof, who I seem to recall was less than appreciative of the insight.

    2. Re:Microsoft solved the Halting Problem ages ago by gweihir · · Score: 1

      Actually, your statement is incorrect. What is correct is that all program execution in physical reality halts eventually. That is something else.

      The difference is pretty much the one between theory and practice. You know, in theory, theory and practice are the same. An engineer understands that in practice they are not and that practical systems are complex enough and the theories may be incomplete, inaccurate or otherwise faulty enough, that the unexpected in theory does actually happen in practice.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    3. Re:Microsoft solved the Halting Problem ages ago by mark-t · · Score: 1

      What is correct is that all program execution in physical reality halts eventually

      That is *EXACTLY* what I had said.

    4. Re:Microsoft solved the Halting Problem ages ago by Anonymous Coward · · Score: 0

      Any given Microsoft Windows will crawl to a halt if you let it run. Pretty soon.

    5. Re:Microsoft solved the Halting Problem ages ago by Anonymous Coward · · Score: 0

      But the halting problem is not about wether programs halt or not. It's not even really about halting.

      It's about difficulty of predicting program outcomes without doing the calculations (actually running the program).

      So your "insight" just don't make any sense in such context.

    6. Re:Microsoft solved the Halting Problem ages ago by gweihir · · Score: 1

      No, you did not. "Actuality" can well be mathematical actuality.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    7. Re:Microsoft solved the Halting Problem ages ago by gweihir · · Score: 1

      Indeed. In a sense the halting problem says "there are no general shortcuts to describing program semantics", i.e. the code itself is the most simple general description method for code. A direct implication is that you cannot determine code semantics in general without testing it. (You can transform it into some mathematical model, but that does, in general, not simplify things and hence is useless.) Another direct implication is that you cannot, in general, fully test code.

      The question whether it halts or not is just the most simple instance of this and hence very useful for proofs.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    8. Re:Microsoft solved the Halting Problem ages ago by Megol · · Score: 1

      Actually it's even worse: the halting problem shows that there are problems that can't be solved by a computer.

      Even a theoretical perfect computer being infinitely fast, existing in a world with infinite energy and with infinite time to run can't solve the general halting problem.

      So it's not a case that one can't solve it without running a program. One can't solve it in any way even in a computer with infinite resources.

    9. Re:Microsoft solved the Halting Problem ages ago by Megol · · Score: 1

      After some coffee and doing something unrelated by brain pointed out that this isn't actually true - something that can do an infinite number of operations can "solve" the problem by exhaustion even if it requires an infinite number of steps to do so. Any real computer can still not solve the general halting problem.

      The thing is I used the word infinite to mean an extreme large number rather than an actual infinite number, that's obviously improper. Replace the word infinite with "arbitrary large number" and text is correct.

      Sorry for that, will try to drink my coffee before responding in the future. :(

  35. what is old is new again. by Anonymous Coward · · Score: 0

    Sounds like Ubisoft are slowly catching up to mainstream development practises. Even MS has for years been using historical bugs to feed into code analysis tools to find and stop errors, hence why you tend to get big spurts of patches from them as new types of bugs are discovered they get fixed and then fed into the front end to try and prevent them from happening again

  36. Re:Look! I've re-invented LINT! by nedlohs · · Score: 1

    Do people really not use -Wall -Werror (or equivalent) by default? Aside from stuff being put on github which apparenrtly has a requirement to spew megabytes of warnings when compiling...

  37. Re:Look! I've re-invented LINT! by tlhIngan · · Score: 1

    This sounds more like Clippy.

    "I see you are trying to write a state machine..."

    Not a bad thing. That's actually quite useful. State machines and dates and other things seem to be items that programmers always re-invent, despite there being a half dozen of them in the libraries they already use.

    Imagine the usefulness one could have if the IDE simply stated "it appears you're implementing a date function. Have you considered the date and time APIs already available to you? Here's some APIs and documentation."

    This is especially true for languages with rich APIs that do everything, yet everyone seems to reimplement them wrongly anyways.

    Want to impress me further? See to it that it sees I implement bubblesort, but it stays quiet if it knows the data set I'm working with is small. If I make it bigger, it then flags it. (Bubblesort is perfectly fine as a sort algorithm for small datasets - like say, 10 elements)

  38. Re: Look! I've re-invented LINT! by Anonymous Coward · · Score: 0

    Few years from now, this AI system can link certain kids of coding errors for a particular developer to his or hers arrival time to the workplace and their selection of clothing from the security camera feeds.

  39. Re:auto QA test can just fail silently or pass but by im_thatoneguy · · Score: 1

    Good to have Auto QA though to free humans for what they're good at. Also good to have auto-play-testing with AI agents just running against walls etc. If any AIs get stuck or position.z -100 and have fallen out of the game level then you can replay their game route.

    Save your play testers for quality not random breaking of the game.

  40. First bug found by Anonymous Coward · · Score: 0

    What happens when the AI identifies Ubisoft as the bug?

  41. Pretty sure I saw this in a movie... by JDShewey · · Score: 1

    I believe that in the movie, they started using AI to lint their code, then it became self aware and just started writing the code and finally gave rise to the terminators which put all humans into a simulation to harvest their bioenergy. Or something like that...

  42. Re:Look! I've re-invented LINT! by ljw1004 · · Score: 1

    Let me try again with a car analogy. Someone designs and builds a Tesla. You come along and say "Face it. At the very best, this is just an extension of the '87 Ford F150. There's nothing new. They've just re-invented the '87 Ford F150. Oh the hubris of the young, to think that they could do anything different."

    What's weird is that your "prior art" is (1) oddly specific almost in ignorance of the rest of the field that came before and after, (2) misses the point that Tesla has taken one existing technology "battery" and put it into another existing technology "electric vehicle" in a well-designed package that works well and is interesting for these reasons.

  43. Re:Look! I've re-invented LINT! by bobbied · · Score: 1

    Oh, grasshopper... This is not new. It's doing static code analysis and flags parts that may have issues based on where trouble has been seen in the past. This is EXACTLY what LINT is, advice from experience. It's basically saying "Um, you *might* not want to do this kind of thing because it's often a mistake. Are you sure?"

    Of course you somehow think that because it's some fuzzy AI technique used it's somehow different? Cute....If anything, it's less effective being AI, but that's another debate you won't understand.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  44. How about making money before the gamers play them by Anonymous Coward · · Score: 0

    Isn't that what they want? No game but all money?

  45. Re:Look! I've re-invented LINT! by angel'o'sphere · · Score: 0

    Ok, idiot.
    It does not do static code analysis.

    You still have not read the story or the linked article.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  46. Re:Look! I've re-invented LINT! by bobbied · · Score: 1

    I like you analogy, but consider this small addition...

    Let's say I tell you that we discovered a whole pile of rules for designing cars. Don't try to stamp metal into this kind of shape, mount your glass in ways the flexing of the body doesn't break it, don't use plastic for this kind of part or that, don't use 6V lamps or non-rechargeable batteries, don't put the gas tank too close to the bumper or put electrical wires and exhaust manifolds near it either.... We use these "rules of the road" to validate our design changes as we make them.

    You, invented an AI way to look for this same list in your vehicle designs....

    The concept of that Tesla isn't new, a battery operated car you can drive on the roads.. Only the implementation is new. Tesla didn't invent the electric car, they just implemented one.

    This 'new' program was invented back in the days of LINT, this is just a new implementation of one. It's not even better than LINT if you ask me, but being AI based, there's no way to prove that objectively.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  47. Re:Look! I've re-invented LINT! by bobbied · · Score: 0

    Ok, idiot. It does not do static code analysis.

    From the above article I shall quote:

    "It's all about comparing the lines of code we've created in the past"

    Um... "Static code analysis" is looking at the source code for probable errors. This program does that.

    You may have read the articles in question, but you obviously don't understand what you saw there.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  48. Re:Look! I've re-invented LINT! by bobbied · · Score: 1

    No, it is not a static code analyzer. You seem to old to grasp new concepts. Why don't you read the article instead of continuing to make an idiot out of your self?

    From the Article above:

    "It's all about comparing the lines of code we've created in the past"

    That sure sounds like "static code analysis" to me. Perhaps you don't understand that that term means?

    Static Analysis of source code is looking at the source code for interesting patterns, in most cases looking for common programming errors. LINT did this, this "new" program does the same thing. It looks at the source code for patterns right? Then it's doing static analysis.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  49. I'm sure Ubisoft thinks so by Anonymous Coward · · Score: 0

    I doubt that's how it'll work out. It isn't 'AI', and though tendencies can be noted, the future isn't so linear, everything can turn in a dime, that it can be predicted by anything, let alone a glorified algorithm. Meh.

  50. Re:Look! I've re-invented LINT! by ShanghaiBill · · Score: 1

    From the Article above:

    "It's all about comparing the lines of code we've created in the past"

    That sure sounds like "static code analysis" to me.

    It IS static code analysis. But that doesn't mean it is "like Lint".

    Lint uses a table of HUMAN GENERATED patterns. These patterns are labor intensive to produce, and only find bugs that humans thought to check for.

    This new checker looks at a steadily expanding database of bugs, and the fixes for those bugs, and LEARNS THE PATTERNS ON ITS OWN. This means it can have a much bigger set of patterns, including many that a human might have never thought to include. It also means that the system can steadily improve.

    Most likely this system will be used as a supplement for Lint, rather than a replacement. But as it learns and improves, it may make Lint no longer very useful.

  51. Its a Feature - Not a Bug by Anonymous Coward · · Score: 0

    Kudos for implementing quality control measures. But you cannot overcome the following poor "design" choices with this tool:
    - An insistence to ship a flagship game before the holiday season to meet financial numbers, no matter if its ready or not (see Assassins Creed Unity)
    - An initial upfront gimmick followed by horribly designed gameplay/missions when compared to your competitors (see Watch Dogs).
    - Always on DRM requirements of your online platform (see uPlay)

    etc.

  52. Re:Look! I've re-invented LINT! by Anonymous Coward · · Score: 0

    Yes, but it also means that it will find patterns like, "Josh always does this, Josh writes lots of bugs, this might be a bug." I mean, maybe just fire Josh?

  53. Re:Look! I've re-invented LINT! by Anonymous Coward · · Score: 0

    Want to impress me further? See to it that it sees I implement bubblesort, but it stays quiet if it knows the data set I'm working with is small. If I make it bigger, it then flags it. (Bubblesort is perfectly fine as a sort algorithm for small datasets - like say, 10 elements)

    So, there's this thing called OO programming...

  54. Re:Look! I've re-invented LINT! by ShanghaiBill · · Score: 1

    I mean, maybe just fire Josh?

    Staffing decisions are outside the scope of the tool's remit.

  55. So it's an AI-fied static code analyzer? by Ihlosi · · Score: 1

    ... and how does it compare to existing static code analyzers? It's not that static code analysis is a completely new technique.

    1. Re:So it's an AI-fied static code analyzer? by Zaphod+The+42nd · · Score: 1

      OP doesn't know what he's talking about, I'm guessing. This is just static analysis.

      --
      GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
  56. the term is defect prediction by hraponssi · · Score: 1

    There has been plenty of long-term research on this topic under the name "defect prediction". It is actually one of the best (or few..) suited application areas in the software engineering processes for machine learning. You get an obvious set of training data. Record all the bugs found, issues reported, match them to fixing patches (or whatever you call it, fix locations to code in practice). Label those places/parts of code as "error-prone" before the fix. Maybe take the "after" part as an example of non-issue. Train your machine learning classifier.

    It's been done for a long time. Much like most semi-academic application areas, this is again done with university-company collaboration. Because no company on itself ever wants to get into this type of stuff due to seeing little real benefit beyond your basic, easily available and applicable, analyzers, and writing those (unit) tests that you should write anyway. In similar way to topics such as "regression test optimization". Decades of slapping on it, minor improvements if any, but with creative reporting, always some Uni finding a "partner" to get funded and help them put the academics to little bit of practice, as it otherwise is not so profitable.

    So here they found a better known company (Ubisoft) and decided to call machine learning AI, brilliant hype generated. Now lets have a project meeting and report to our funding agency about how we made world-wide news with our super-AI tech and globally big companies. OMG have many more millions you so good. Because the funding agency will not understand jack about what is going on there, and if they do, they will still be impressed someone made something working in some way. Which sadly is a true achievement in that context. ...

  57. Before? by Anonymous Coward · · Score: 0

    "catch bugs before they're ever committed into code"

    What?

    WHAT?

    They catch the bugs in the programmers' heads before they fucking type it?

  58. Re:Look! I've re-invented LINT! by enjar · · Score: 1

    Compiler warnings are often viewed as "noise" and disregarded entirely, or "logged and fixed in the next release". We learned our lesson the hard way years ago and have moved to warning-free code as a checkin requirement, but it would not surprise me to find a lot of organizations with date-driven releases who let them slip, especially as the ship date get ominously close. We pretty much use -Wall -Werror, but occasionally I need to deal with stuff from github and it's warning city. It's kind of like learning hygene is really good and then having to go somewhere soap hasn't been invented.

  59. Re:Look! I've re-invented LINT! by angel'o'sphere · · Score: 1

    It is not _code analysis_, hence it can not be _static code analysis_

    But perhaps you only want to nitpick with words.

    The tool knows nothing about the code or the programming language.

    It only knows I fixed a bug in line 100 of a text file.

    And bottom line you can use the same technique for editing books. "The lector says 'this phrase is bad', the author changes it to 'this sounds better'". The AI checks for similarities in the rest of the book and flags them.

    In other words: it knows nothing about the topic it is looking at.

    LINT knows a lot about the language it is linting, after all it uses the same parser and AST as the compiler.

    Historically you had the compiler and lint because machines had not enough memory to have in depths semantic analysis AND code generation in one program. So they wrote two programs, which share most their code. One does an in depths analysis about the code and outputs warnings (warnings that often _are_ errors). The compiler only wants to compile and emit code. It does not care about many things. Which is also considerably faster on classic machines (machines with a few KB of RAM, e.g. PDP-11 and Apple ][, yes, I programmed in ancient C on Apple ][s - I believe Aztec C)

    So, a LINT and the approach of Ubisof: have absolutely nothing in common

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  60. Re:Look! I've re-invented LINT! by bobbied · · Score: 1

    If this tool doesn't understand the programming language of the code, Then... It's pretty much worthless compared to LINT. Shall we send all our code to a group of English grammar experts for their comments before we allow it to be committed too? What's the point of that?

    In any programming language there are commonly used sequences which are prone to errors, which are syntactically correct, but likely wrong. Your AI based search would produce lots of useless garbage if it cannot tell the difference between a comment and actual code.

    I'm going to say it only one more time. Static code analysis (looking at the source code) is what LINT did and does. Your brand "new" AI program, does the same thing. If it works as you claim, it likely also produces a lot of false positives OR if the thresholds are set high, misses a lot of common mistakes and you'd be better off tossing the AI part out and just hard code it, like LINT did....

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  61. Static Analysis by Zaphod+The+42nd · · Score: 1

    This is called static analysis and has been around for YEARS. Tons of companies are doing this.

    --
    GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
  62. Ready, Player Zero by FreedomFirstThenPeac · · Score: 1
    Okay, so I add this diagnostic Ubisoft Commit Assist to a Neural Net (NN) that is being trained, using a Genetic Algorithm (GA) to change the topology of the NN. Part of the Neural Net is dedicated to the Commit Assist subnet. This combination means that the entire system gets better exponentially because the diagnostic gets better as the system uses it to find errors in both the base problem and the subnet problem, while the GA improves the ability of the NN to do both the base problem and the subnet problem.

    I'd call the made-for-VR movie, "Do Androids evolve to become veterinarians specializing in sheep?"

    --
    "There is no god but allah" - well, they got it half right.
  63. Re:Look! I've re-invented LINT! by angel'o'sphere · · Score: 0

    If you think it does the same thing then dream on ...

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  64. Re:Look! I've re-invented LINT! by erapert · · Score: 1

    from my understanding a game "dev" does very little programming in the traditional sense

    I work on a VR project at my day job (basically a video game). Your statement that we use a "pre-made" game engine is basically like saying that nobody does any "real" programming if they use a library or some code that someone else wrote. In other words: yours is a no-true-scotsman statement.

    These guys are mostly doing scripting

    We used both C++ and Unreal Script when we were using UDK (Unreal Engine 3). But everything we do now with Unreal 4 is C++ (and some Blueprint stuff to hook the GUI together).

    world building, animation, modeling, progress triggers, hit boxes, etc.

    Yes, that's the problem domain. And how do you think these things get implemented? With code.

    So assuming I'm correct on that, Lint would be useless for this.

    You're not really correct on all that. Also Lint and other static analysis tools are useful. John Carmack has some great insight into all this and how static analysis tools can help and fit into game development. As evidence: the Doom 3 source code is pretty generally very good.

  65. OK, so I'm old by Anonymous Coward · · Score: 0

    But, didn't we once address this issue by doing unit testing and even limited end-to-end testing, often automated, before checking code in? Didn't we also publicly shame those who introduced bugs into source control, and fire people who regularly broke the build?

    Seems like using AI is an overly-complicated, likely-fragile solution to a very simple problem.

    You know what the difference between engineering and science is? A scientist will spend $10MM to develop a pen that will write in space. An engineer, a good engineer, will buy a 20 cent pencil to achieve the same goal. (No, I am not a Russian troll. Just think that story is a great example of ego vs. outcome based decision making)

    That's one of the reasons I left the tech industry. It's a science culture, not an engineering one. You all are more interested in proving what gigantic brains you swing than in achieving outcomes.