Ubisoft And Mozilla Announce AI Coding Assistant Clever-Commit (variety.com) 40
Video game publisher Ubisoft is working with Mozilla to develop an AI coding assistant called Clever-Commit, head of Ubisoft La Forge Yves Jacquier announced during DICE Summit 2019 on Tuesday. From a report: Clever-Commit reportedly helps programmers evaluate whether or not a code change will introduce a new bug by learning from past bugs and fixes. The prototype, called Commit-Assistant, was tested using data collected during game development, Ubisoft said, and it's already contributing to some major AAA titles. The publisher is also working on integrating it into other brands. "Working with Mozilla on Clever-Commit allows us to support other programming languages and increase the overall performances of the technology. Using this tech in our games and Firefox will allow developers to be more productive as they can spend more time creating the next feature rather than fixing bugs. Ultimately, this will allow us to create even better experiences for our gamers and increase the frequency of our game updates," said Mathieu Nayrolles, technical architect, data scientist, and member of the Technological Group at Ubisoft Montreal.
Son of Clippy! (Score:3)
Re: (Score:2, Funny)
It looks like you're making a joke.
Would you like help?
- Writing a punchline
- Working on your timing
Thinking the same thing (Score:3)
Looks like you are trying to add code that exhibits a buffer overflow!
Would you:
(A) Like me to add protection around use of this memory?
(B) Update the NSA unregistered exploit list with the location of this memory exploit and your bank account number?
(C) Public exploit to Russian IRC server for the LOLs?
No... just no (Score:2)
Either the class of programs for which this would work is so narrow as to be practically useless for most people or they have effectively claimed to have solved the Turing Halting Problem.
My money is on the former.
Re: No... just no (Score:1)
Likely it'll be checking for obvious stuff that developers should already be looking for, but don't.
I frequently debate with developers at places I've worked at over the silliest of things. They'll do stupid stuff like checking the memory addresses of two objects instead of the values (when yes they want to check the values). Even when they've killed the infrastructure or app or whatever multiple times, they'll still do stupid stuff like this and debate it. Entirely unbelievable.
Of course, a tool like th
Re: (Score:2)
A good process should always be "zero warnings" before code is committed, or send automatic emails to the offender if the build shows warnings, or whatnot. Once you start letting some warnings through then people stop paying attention. I'm amazed in some occasions that after figuring out a bug from the field that there was a warning pointing to it the whole time; and the dev usually has an excuse that there are so many warnings that it slipped past.
Sure, 99% of the warnings will be meaningless but you don'
Re: (Score:3)
Re: (Score:2)
Static analysis tools are really great at figuring out that you're overwriting past the end of an array or allocated block. Even if it's a false positive there's always a way to flag it or tweak to code so that it doesn't show as a warning anymore.
One snag I've seen over the years is that a lot of programmers don't think that it's worth their time (or not their job) to write code that is maintainable over the long run. If it compilers and runs and QA isn't complaining then they think that's all there is to
Re: (Score:2)
I think you just need a static analysis tool that you can run quickly on your code. The ones I used in the past you had to commit the code first and wait overnight, though they say there are improvements so you can do it at your desk. From there it's a small jump to just reverifying just on the changed files. The static analysis tools do a good job and find a lot of bugs (and some false positives) that code reviewers often overlook.
Re: (Score:2)
I share your scepticism, for the simple reason that extraordinary claims require extraordinary evidence, but it's not the case that theoretical computer science demonstrates the impossibility of a useful-but-imperfect bug-detector powered by learning techniques.
Indeed, we know for a fact that such systems exist: human programmers' intuitions.
Re: (Score:2)
Re: (Score:2)
we do not know if the human programmer intuition is behaving non-deterministically or not
There's little sense holding out hope that we're spared from determinism, hoping to carve out space for conventional free will, but it makes little difference for our purposes here. Even if the brain is somehow non-deterministic, you can do a reasonable job of simulating it using a deterministic machine: just pick seed values using some pseudorandom scheme, to pick from the set of candidate outputs of the non-deterministic machine. You'll get a valid output.
even if the universe is deterministic, it can be shown through a paraphrasing of the halting problem that non-deterministic systems could theoretically exist within it without violating any underlying deterministic nature
With respect, it absolutely cannot, but I'd be cur
Keep Mozilla away from Ubisoft (Score:2)
Better Approaches (Score:1)
If there's a type of repeating bug you should update how you use the language to make it impossible to repeat the same error in the future. Example, if you always have to call X before Y, then there should be a Z which calls X,Y. If you need to do work in between X and Y, then Z takes a B and performs X,B,Y. Now update your build process to throw an error if Y is ever called outside of Z.
If you're messing with basic arrays, create a struct and set of functions which automatically maintain the length of t
AI looks over code (Score:2)
"What is my function?
To test Rust code
"And the CoC?"
Yeah, welcome to the CoC.
No one needs it more (Score:2)
Judging by the number of crash bugs in their software, the only developer who might need more help is Bethesda
Not F/OSS (Score:3)
There does seem to be a paper but no actual code. In fact, the way the Mozilla blog is worded (https://blog.mozilla.org/futurereleases/2019/02/12/making-the-building-of-firefox-faster-for-you-with-clever-commit-from-ubisoft/) - it looks like Clever Commit is Ubisoft's technology, not even Mozilla's.
Not happy.