Multidimensional context modeling applied to non-functional analysis of software