Concept analysis provides a way to identify groupings of objects that have common attributes. The mathematical foundation was laid by G. Birkhoff Bi40, who proved that for every binary relation between certain "objects'' and "attributes'', a lattice can be constructed which allows remarkable insight into the structure of the original relation. The relation can always be reconstructed from the lattice, hence concept analysis is similar in spirit to Fourier analysis.
Later, Wille and Ganter elaborated Birkhoff's result and transformed it into a data analysis method Wi82, GW99. Since then, it has found a variety of applications, such as analysis of Rembrandt's paintings, classification of algebraic structures, and behaviour of drug addicts. In 1993, work on the application of concept analysis in the area of program understanding and reengineering was initiated. Concept analysis has been used for modularization of legacy code LS97, SR97, DK:99, finding interferences between configurations KS94, Sn96, and transformation of class hierarchies ST:98,ST:99.