3 ms·
> It is a large language model, trained on arbitrary input data. Is it? For all I know they gave it specific instances of bugs like "int *foo() { int i; retur
by wyldfire 2y ago
> It is a large language model, trained on arbitrary input data.
Is it? For all I know they gave it specific instances of bugs like "int *foo() { int i; return &i; }" and told it "this is a defect where we've returned a pointer to a deallocated stack entry - it could cause cause stack corruption or some other unpredictable program behavior."
Even if OpenAI _hasn't_ done that, someone certainly can -- and should!
> Who needs to create 3D models
I specifically pulled back from "no static checkers" because some folks might tend to see things as all-or-nothing. We choose to invest our time in new developer tools all the time, and if AI can do as good or better maybe we don't need to chip-chip-chip away at defects with new static checkers. Maybe our time is better spent working on some dynamic analysis tool, to find the bugs that the AI can't easily uncover.
> now generate it without my memory leaks ... People who thought about these problems mindfully
I think of myself who devises systematic approaches to problems. And I get those approaches wrong despite that. I really love the technology that has been developed over the past couple of decades to help me find my bugs: sanitizers, warnings, and OS, ISA features to detect bugs. This strikes me as no different from that other technology and I see no reason not to embrace it.
Let me ask you this: how do you feel about refcounting or other kinds of GC? Huge drawbacks make them unusable for some problems. But for tons of problem domains, they're perfect! Do you think that GC has made developers worse? IMO it's lowered the bar for correct programs and that's ideal.
- therein 2y agoGCs create a paradigm in which you still craft logic on your own. It is simply an abstraction, one you could even think of it as a pluggable library construct like Arc<T> in Rust. It doesn't write or transform code at the layer programmer writes code. I think GC is closer to the paradigm that stack local variables will go out of scope when you return from a function than a transformer that cleans up the misunderstandings about lifetime. If someone said I crafted this unique approach with this special kind of neural network, and it works on your AST or llvm IR, and we don't prompt it, it just optimizes your code to follow these good practices we have engrained into this network, I'd be less concerned by it. But we are trying to take LLMs trained on anything from Shakespeare to YouTube comments and prompting it to fix memory leaks and deadlocks.