Programming consists of building successive "layers of abstraction",
one on top of another.
The process of going from one such layer to the next is
The goal of Abstraction Theory is to model this process mathematically,
so that questions about abstraction —
like, which of these two programming languages has more abstractive power
— are objectively meaningful problems subject to formal investigation,
Abstractive Power of Programming Languages: Formal Definition.
S-Expressiveness and the Abstractive Power of Programming Languages.
Abstraction in Programming — working definition.
Well-behaved parsing of extensible-syntax languages.
Abstraction theory on my Web Surfing page;
my other Academic Work.