ESAJS: expressive stateful aspects for JavaScript

An implementation of ESA, the description of an expressive stateful aspect language. A stateful aspect language supports the definition of monitors to observe and react to a program execution trace.  They have numerous applications in domains like error detection, security, and modular definition of crosscutting concerns (2015).

The main related publication:

An Expressive Stateful Aspect Language
Paul Leger, Éric Tanter, Hiroaki Fukuda, Science of Computer Programming, volume 102, number 0, pp.108-141, May 2015, Elsevier