Next for DARPA: Autocomplete for programmers
-
DARPA is trying to make copy-and-paste coding easier:
http://news.rice.edu/2014/11/05/next-for-darpa-autocomplete-for-programmers/
-
Autocomplete on my phone and tablet already do more harm than good, I really don't want an IDE that does it too. Would make for some interesting entries on this site however.
-
Ctrl + R, Ctrl + M
-
-
Isn't good old Ctrl+Space kind of like autocomplete? In a way?
Still, having Clippy ("It looks like you're writing a Constructor") for VSnext would be hilarious.
-
-
No, I'm trying to write a Gooey interface in Visual Basic
-
WTF? I have no idea of what this is about. We already have macros, autocomplete and real-time builds.
-
I envision complicated licensing issues:
Oops, PLENY grabbed some GPL code. Now our main project has to be licensed under GPL!
-
It's hard enough to reuse code due to slightly different requirements in the same project. I don't see this stuff working in any sort of useful way.
-
What could possibly go wrong with giving junior developers code generators?
-
More TDWTF articles?
-
I don't understand how this proposal is different from what IDEs already do.
EDIT: I think I kind of get it? The idea is if you start typing, say, a specific algorithm of random number generator, it'll find a open source implementation of that and put it in your project automatically? But then, even assuming that's useful, doesn't it just result in people endlessly duplicating code?
So I use this to insert my random number generator, and it turns out there's a security hole. But my code never gets the patch, because I used this tool instead of using a library like I should have-- and even after the patch, people are still using the buggy version because there's so many thousands of copies of it out there that the Bayesian filter is guaranteed to find the broken ones before it finds the fixed ones?
That's putting a lot of faith in the code found in open source projects.
-
I don't understand how this proposal is different from what IDEs already do.
I think that's the entire point of this thread.
-
EDIT: I think I kind of get it? The idea is if you start typing, say, a specific algorithm of random number generator, it'll find a open source implementation of that and put it in your project automatically? But then, even assuming that's useful, doesn't it just result in people endlessly duplicating code?
I think this is right, and maybe even understating things a little. I think it'll be very interesting to see what comes out of it and whether it'll be useful.DARPA tends to pick problems that are really really really really really difficult and stand a good chance of not working, so don't worry, everyone involved is aware that the idea is crazy in some respects. That doesn't mean that something interesting won't come out or that it's not valuable.
(Disclaimer: I am not funded by MUSE, but I work for an organization that is, and I'm funded in large part by a different DARPA project.)
-
Proof that they know how computers work:
http://news.rice.edu/wp-content/uploads/2014/11/0923_PLINY-DARPA-main-med.jpg
This image was part of the article.
-
This image was part of the article.
So, that should have read "A Rice University-led team of software funding extraction experts"?
-
I find your macro verbose. To challenge a Kzin, you scream and you leap.
-
So, that should have read "A Rice University-led team of software funding extraction experts"?
Bearing in mind that, like I said, I indirectly get my salary from projects similar this and have "close ties" to more than one of the organizations in that project:
To some extent "software funding extraction experts" is true. But, first of all, it's not like the people on the project picked the image; it was probably Rice's PR department. Second, the reason they're good at getting funding is that the people who are on this project really do know a ton about what they're doing. Maybe MUSE will pan out, maybe it won't. Maybe the project I'm on will pan out, maybe it won't. But if they don't, the next one will; and research like this does lead to tangible benefits. Windows driver bugs used to be a cause of a significant majority of blue screens, but the SLAM project from MS Research got "productized" into the Static Driver Verifier and is down distributed with the Windows Driver Development Kit and helps developers (who care1) write rather better drivers. Somewhat similar software (same goal, very different characteristics) helps to find bugs in other software, some pretty darn important. The quality of these tools is... well, there's a long way to go, let's just say that; but it's already helpful. Now MUSE is sort of a different beast than bug-hunting software, but some of the techniques backing that project are also behind those other tools. And we can't get better without pushing and working on it. I obviously have a biased perspective, but I view a lot more automation and verification as being almost essential for developing a lot of software on a long-term view.
1 Actually, I just remembered: for Windows driver certification, you actually have to have run SDV on your code. It doesn't need to return a clean slate, and I'm not sure there are any requirements as to "you have to have run it", but I can imagine that if MS sees too many bug checks from your driver for something that was indicated as a potential problem from SDV (not sure if they have enough information to determine this though), they might withdraw the certification.
-
Yeah but if you win, they name you "Chmeee".
Hated that name.
Why the hell would you change your name from "Speaker-To-Animals" to "Chmeee"?! "Speaker-To-Animals" is the best name.
-
Why the hell would you change your name from "Speaker-To-Animals" to "Chmeee"?!
Seriously? Because it wasn't a name!
-
I thought about answering that, but decided that @blakeyrat probably knew the answer and was expressing disagreement with it, rather than seeking information. But, hey, what do my shoulder aliens know?
-
Anything's better than Chmeee.
Although sadly you are probably right, and Niven only named him Speaker so he could do that stupid "Speaker vs. Seeker" wordplay later in the novel.
-
Did that series go anywhere? I only read the first book.
-
Not anywhere interesting. If you've read the first book, you're done.
-
I rather like the other books, too, but Niven is one of my favorite authors; I don't think I've read anything of his I didn't like. I think you're right, though, that the first one is the best.
-
you are probably right
Of course I am right. Speaker-to-Animals is a title. He had to earn the name Chmeee by his actions on Ringworld. This was explicitly stated in various stories. By contrast, in The Soft Weapon (I think), the Kzin captain had only earned a partial name, so he was called Chuft-Captain.
-
To be honest, it's been ages since I read them. I just remember he got obsessed with vampires and different aliens having sex with each other.
-
He had to earn the name Chmeee by his actions on Ringworld.
Well duh. Chmeee is still a stupid name.
-
Not anywhere interesting. If you've read the first book, you're done.
Meh, I thought the second book was interesting. The third one, though, definitely was blah.
-
Chmeee is still a stupid name.
I'm not going to argue that. But maybe Kzinti think it's manly or whatever. Would you tell that to his face? (I suspect the answer is "probably.") Remember, you challenge a Kzinti by screaming and leaping.
-
To be honest, it's been ages since I read them.
Yeah. I've read a couple of the books fairly recently, but it's probably been 20 years since I read the original. I should definitely read it again.
I just remember he got obsessed with vampires and different aliens having sex with each other.
I recall episodes in one or two of the books that probably dragged on two long, but still pretty minor in the overall scope of the narrative. I don't think I'd call it an obsession, unless there's quite a bit more of it than I remember.
-
of the narrative. I don't think I'd call it an obsession, unless there's quite
The bit with the vampires was maybe a chapter or two? And then at the end of the second one, IIRC, they encountered a Protector-stage vampire. No, it was off-stage; they never saw it, I think. The book wasn't nearly as obsessed with vampires as Blakey is with cocks.
-
The book wasn't nearly as obsessed with vampires as Blakey is with cocks.
-
The idea is if you start typing, say, a specific algorithm of random number generator, it'll find a
open source implementation of thatStackOverflow answer from a guy in India who named all his variables after his pets and ramped a sort to n^4 and put it in your project automatically?FTFY.
Also, for fuck's sake, if you want to reuse code, use libraries.
-
I envision complicated licensing issues:
Oops, PLENY grabbed some GPL code. Now our main project has to be licensed under GPL!
Not PLENY; PLINY. Like the elder. or the younger
-
Meh. I'm not invested enough to care if I get name of the bad idea right.
-
ramped a sort to n^4
Couple things:
- Why is your random number generator sorting things?
- can you describe a sorting algorithm that is nontrivially O(n^4)?
-
care if I get name of the bad idea right
You should care so that you know what to run away from if you ever see it in a job description.
-
You should care so that you know what to run away from if you ever see it in a job description
Well, I'm close enough, I think I'll be good.
-
not N^4 but
- allocate a new array of length 1 to store results
- scan the first array for the lowest valued item
- remove the lowest valued item and add it to result array.
- collapse the gap that removing the item from source created.
- realloc results array to be 1 item bigger.
- if source array has length > 0 gotothe second isntruction labeled 1. (discourse!)
- realloc the results array to be one shorter
- load the results array into a cannon and fire it at the programmer
yeah it's a completely idiotic sort, but with all those reallocs (which involves creating a copy and fancy things like that) i think this is somewhere around n^4.... not going to bother sitting down and working that out though...
-
If I understand your algorithm right, this is still O(N2); the copying and shifting elements for the removal are O(N), but there's already an O(N) action per element, which is scanning for the lowest item.
-
hmmmmm you may be right.... let me try that again...
actually no. i don't want to have to hand in my programmer card....
-
No, I'm trying to write a Gooey interface in Visual Basic
Are you planning to track an IP address with it?
-
can you describe a sorting algorithm that is nontrivially O(n^4)?
I would describe it as slow.
-
Well this sucks, I can't find Ringworld for the Kindle. Some of the sequels are available, but not the original.
-
Foundation and Empire is only available in Spanish. The rest of the books are there.
-
No, I'm going to go find the location of the hacker '4Chan' he's a pretty evil guy.
-
I can see that working out really well for you.
-
Well this sucks, I can't find Ringworld for the Kindle. Some of the sequels are available, but not the original.
Foundation and Empire is only available in Spanish. The rest of the books are there.
I bet both of them are available on whatever alt.binaries subgroup has pirate scans of books.