Abstract compilation is an optimization technique used to reduce abstract interpretation’s execution time.

How does abstract compilation reduce execution time?

  1. Abstract compilation avoids instructions which do not modify the abstract state.
  2. Abstract compilation transforms the program to avoid redundant abstract states modifications.
  3. Execution of analysis can be performed on a virtual machine optimized for abstract programs.

References

[0] Johnson, J. Ian, et al. “Optimizing abstract abstract machines.” ACM SIGPLAN Notices 48.9 (2013): 443-454.

[1] Boucher, Dominique, and Marc Feeley. “Abstract compilation: A new implementation paradigm for static analysis.” International Conference on Compiler Construction. Springer, Berlin, Heidelberg, 1996.