Bourne shell abstract interpreter

6 thoughts
last posted May 1, 2016, 2:53 a.m.

2 earlier thoughts


Abstract interpretation

What I usually find myself doing with scripts like this amounts to doing manual abstract interpretation. Instead of executing the script, I open it in an editor, and trace through it.

Simple scripts may just be a list of commands to review, but more complex scripts often involve:

  • Substituting variable definitions
  • Inlining helper functions
  • Evaluating dynamic checks, and skipping code that's not relevant to my environment
  • Overriding certain paths, commands, or other hardcoded choices

3 later thoughts