This is why functional models like React, DSL models like SQL, and constraint models are so widely used — they make what's happening in the software more understandable (at a worthwhile performance cost).
A few of my own contributions:
* Legible Mathematics: http://glench.com/LegibleMathematics/
* Flowsheets – showing data as you program: https://www.youtube.com/watch?v=y1Ca5czOY7Q
* REPLugger – showing data as you program in large systems: https://www.youtube.com/watch?v=F8p5bj01UWk
* FuzzySet interactive code documentation: http://glench.github.io/fuzzyset.js/ui/