  In this paper we provide a survey on the framework of abstract
non-interference. In particular, we describe a general formalization of
abstract non-interference by means of three dimensions (observation, protection
and semantics) that can be instantiated in order to obtain well known or even
new weakened non-interference properties. Then, we show that the notions of
abstract non-interference introduced in language-based security are instances
of this more general framework which allows to better understand the different
components of a non-interference policy. Finally, we consider two challenging
research fields concerning security where abstract non-interference seems a
promising approach providing new perspectives and new solutions to open
problems: Code injection and code obfuscation.
