[HN Gopher] Perses: Syntax-Directed Program Reduction
___________________________________________________________________
Perses: Syntax-Directed Program Reduction
Author : luu
Score : 16 points
Date : 2023-12-27 01:13 UTC (21 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| ryderdini wrote:
| Perses is also the name of this Prometheus dataviz project:
| https://github.com/perses/perses
|
| Funny that the God of Destruction is such a hot name lately
| steego wrote:
| Just so I understand this correctly, this is a tool where, if you
| provide it a program, it will use reduction/rewrite rules to find
| a simpler program that exhibits some given behavior?
|
| In practice, how is this applied? Do compiler developers
| essentially use something similar to quick check to generate
| breaking programs and then use this to reduce those programs to a
| minimal form, or am I missing something else altogether?
| chriswarbo wrote:
| I agree it looks similar to QuickCheck shrinking. Isn't
| necessary limited to compiler writers though; e.g. I can
| imagine a big numerical calculation (like a physics
| simulation), giving NaN outputs. This could presumably home-in
| on the problematic step (given an appropriate test script).
| DonaldPShimoda wrote:
| Yes! Another well-known program reducer is C-Reduce [0]. When
| Csmith [1] started churning out very large programs that
| exhibited errors in C compilers, the compiler maintainers asked
| the researchers to please reduce the ~81KB files to a more
| manageable size so they could understand the errors better.
| C-Reduce was developed specifically to address that need.
|
| [0] https://github.com/csmith-project/creduce
|
| [1] https://github.com/csmith-project/csmith
| armchairhacker wrote:
| Yes. An example (in the associated paper) is to create a
| minimal reproduction of a crash so it's easier to debug.
___________________________________________________________________
(page generated 2023-12-27 23:00 UTC)