"Models favor monolithic, single-file implementations that diverge sharply from human-written code." You say! I might have been just an LLM all along without even knowing it since I too prefer single file implementations. Back in the old VB5/VB6 days Visual Studio had this mode where it showed the different functions in a file almost as if they were separate files. You could not scroll beyond the functions end but yo…
How often has there been a HN submission for a project 'in a single C header file'?
ProgramBench: Can language models rebuild programs from scratch?
71–80 of 86 posts
Re: ProgramBench: Can language models rebuild programs from scratch?
#72Nice work once again from Ofir Press and team; this seems to be an idea that's in the air. > Our 200 tasks range from compact CLI tools to widely used software such as FFmpeg, SQLite, and the PHP interpreter. We evaluate 9 LMs and find that none fully resolve any task Fwiw, this is very different from what we find in MirrorCode: > Opus 4.6 successfully reimplements almost every program up to gotree’s size in our benc…
I would love to try this out. I have a horrible legacy project that is written in angular by a really amateur developer, full of huge blocks of copy pasted code that has minor modifications in each block. I’ve tried before to get an LLM to rewrite it to something more sensible, but I have not succeeded, usually it just ends up breaking everything. Is there a guide or some system to follow? What’s the best way to acco…
I needed to use Opus 4.7 for one project because it used very recent APIs, and it certainly is smart but it's also very expensive.
Re: ProgramBench: Can language models rebuild programs from scratch?
#73"Models favor monolithic, single-file implementations that diverge sharply from human-written code." You say! I might have been just an LLM all along without even knowing it since I too prefer single file implementations. Back in the old VB5/VB6 days Visual Studio had this mode where it showed the different functions in a file almost as if they were separate files. You could not scroll beyond the functions end but yo…
How often has there been a HN submission for a project 'in a single C header file'?
At least once, here you go:
https://news.ycombinator.com/item?id=48053570
Ok, I just submitted it myself but I could not believe it never had been submitted before. It is from 1997 and was pretty popular for some time. I think it even was built into Google Picasa for sime time.
Re: ProgramBench: Can language models rebuild programs from scratch?
#74"Models favor monolithic, single-file implementations that diverge sharply from human-written code." You say! I might have been just an LLM all along without even knowing it since I too prefer single file implementations. Back in the old VB5/VB6 days Visual Studio had this mode where it showed the different functions in a file almost as if they were separate files. You could not scroll beyond the functions end but yo…
How often has there been a HN submission for a project 'in a single C header file'?
/? header-only https://hn.algolia.com/?q=header-only
/? c header https://hn.algolia.com/?q=c+header
Re: ProgramBench: Can language models rebuild programs from scratch?
#75> Open internet with cheating detection => cheating is widespread, 20-36% of tasks are flagged for the stronger models, with source code lookup accounting for the majority of the violations. Therefore: > blocking internet access entirely is the appropriate default for ProgramBench The fact that your Anthropic coding assistant has a tendency to search on the Internet code to be inserted into your program may count for…
If a photo cannot be copyrighted then dark factory code wont be either.
Even the more permissive licenses, like BSD, MIT, etc., forbid the removal of the copyright notice when the code is reused.
While this may also happen with the source programs used for training, I was not aware about the behavior described in TFA for the Anthropic agents, which may search the Internet for source code applicable to the problem that must be solved. It seems even more likely that such code will not be used as allowed by its license.
Re: ProgramBench: Can language models rebuild programs from scratch?
#76Nice work once again from Ofir Press and team; this seems to be an idea that's in the air. > Our 200 tasks range from compact CLI tools to widely used software such as FFmpeg, SQLite, and the PHP interpreter. We evaluate 9 LMs and find that none fully resolve any task Fwiw, this is very different from what we find in MirrorCode: > Opus 4.6 successfully reimplements almost every program up to gotree’s size in our benc…
I would love to try this out. I have a horrible legacy project that is written in angular by a really amateur developer, full of huge blocks of copy pasted code that has minor modifications in each block. I’ve tried before to get an LLM to rewrite it to something more sensible, but I have not succeeded, usually it just ends up breaking everything. Is there a guide or some system to follow? What’s the best way to acco…
This is a tactic based on things I have read in "Working Effectively with Legacy Code" by Michael Feathers - he discusses using cut points to build a testing firewall to bring code under test, then gradually expanding the test suite from that beachhead of confirmed interface.
Re: ProgramBench: Can language models rebuild programs from scratch?
#77Earlier quoted context omitted.
They are - probably more proficient than with some high-level languages. I've used it for embedded stuff, including TI sitara PRU assembly, with great results. Frontier models can also easily "learn" directly from the manuals; asm is quite easy for them to pick up due to its "flat" (non-structured) nature.
>Frontier models can also easily "learn" directly from the manuals; Really? So you just include the manual in the context? Or how does that work?
Re: ProgramBench: Can language models rebuild programs from scratch?
#78Re: ProgramBench: Can language models rebuild programs from scratch?
#79Earlier quoted context omitted.
Problem with these types of benchmarks is that it’s 100% certain the LLM has been trained on all that code already, so they’re all tainted since you don’t know whether it’s just benchmarking recall vs actual reasoning. Same with SWE-bench and others.
That's a feature not a bug. It doesn't make benchmarking any more meaningful or simple, but being trained to recall patterns is a legitimate goal for a coding agent.
This is not the case, they're being presented as "how good is the model at software engineering". E.g. the benchmark in question says this:
"Such settings require models to make high-level software architecture decisions. However, existing benchmarks measure focused, limited tasks such as fixing a single bug or developing a single, specified feature. We therefore introduce ProgramBench to measure the ability of software engineering agents to develop software holisitically. "
When your benchmark is fundamentally embedded extremely well in the training data, such that you're actually just benchmarking "how well do you remember what sqlite looks like" rather than "do you understand all the tradeoffs, risks, design decisions that need to be made to build a bespoke database from scratch".
This is a VERY big caveat that, to me, for a decent part explains the discrepancy between benchmarks and reality.
Re: ProgramBench: Can language models rebuild programs from scratch?
#80Nice work once again from Ofir Press and team; this seems to be an idea that's in the air. > Our 200 tasks range from compact CLI tools to widely used software such as FFmpeg, SQLite, and the PHP interpreter. We evaluate 9 LMs and find that none fully resolve any task Fwiw, this is very different from what we find in MirrorCode: > Opus 4.6 successfully reimplements almost every program up to gotree’s size in our benc…
I would love to try this out. I have a horrible legacy project that is written in angular by a really amateur developer, full of huge blocks of copy pasted code that has minor modifications in each block. I’ve tried before to get an LLM to rewrite it to something more sensible, but I have not succeeded, usually it just ends up breaking everything. Is there a guide or some system to follow? What’s the best way to acco…
Break the problems up into manageable pieces. Make a plan, have tests to verify the outcome, implement that part. Rinse and repeat. Have integration tests.