[HN Gopher] Herbgrind analyzes binaries to find inaccurate float...
___________________________________________________________________
Herbgrind analyzes binaries to find inaccurate floating point
expressions
Author : bshanks
Score : 53 points
Date : 2024-02-26 22:35 UTC (1 days ago)
(HTM) web link (herbgrind.ucsd.edu)
(TXT) w3m dump (herbgrind.ucsd.edu)
| 1over137 wrote:
| Is it just me, or does the website not say which OSes it
| supports?
| sph wrote:
| _" Herbgrind currently primarily supports 64-bit Linux, but
| 32-bit might also work, and theres some work in progress to
| also support OSX."_
|
| https://herbgrind.ucsd.edu/getting-herbgrind.html
| touisteur wrote:
| Thinking of all the people (some even actual friends) worked so
| long on numerical stability on scalar floating point operations,
| nearing a time when model-checking and proof tool are actually
| usable by the really-motivated developer ; thinking of them
| witnessing the arrival of GPUs and Tensor Cores, mixed-precision-
| everywhere and the tools now needing to scale so far it seems
| like starting from scratch...
| aSanchezStern wrote:
| Wow, didn't expect this tool to be on Hacker News six years after
| publication! Herbgrind author here, ask me any questions you
| like! Also, if you're interested in this stuff, the Herbie
| project (which I also worked on) for numerical program synthesis
| is also really helpful for writing numerical code, and has had a
| lot of development over the years.
| 99112000 wrote:
| I've tried out HerbGrind but it often gets stuck and reports an
| error E_STONED.
| aSanchezStern wrote:
| I believe that's a PEBCAK error
| phkahler wrote:
| Is it feasible to run this on something large like
| Solvespace[1] (CAD) which is ~5MB executable? Or would we just
| get an insanely long list of issues?
|
| [1] https://solvespace.com/index.pl
|
| There are hundreds of numerical algorithms in there, and we
| have some bugs that might be related to this kind of
| implementation error.
| aSanchezStern wrote:
| It should be possible. Herbgrind is designed under the
| philosophy that it's not bad numerics themselves that are
| significant, it's how they affect the outputs of your
| program. So the reports are organized around program outputs
| (either through print calls, or you can annotate values you
| care about with macros), and errors are reported in terms of
| how they are affecting your outputs. That should allow you to
| skip any numerical errors that are insignificant in the final
| output, and prioritize the ones that are affecting the
| outputs you care about most greatly.
|
| But Herbgrind is a heavyweight dynamic binary analysis using
| the Valgrind framework, so the slowdown it imposes on the
| runtime might be prohibitive for debugging some programs
| which take a while to compute their results.
| zokier wrote:
| What do you think programming languages/libraries/tools could
| do to make floats less scary for the common people? I feel
| there is lot of superstition around floats, some of it more
| well deserved than others, but it leads people to approach fp
| with great distrust.
|
| Of course herbie is already good step here, but it is still
| somewhat niche.
___________________________________________________________________
(page generated 2024-02-27 23:01 UTC)