1. A method for analyzing changes in a software code, the method comprising: inputting a plurality of different versions of a plurality of software artifacts to a change analysis device, along with a corresponding software code architecture; wherein the plurality of software artifacts are structured in a software component hierarchy of software components, each software component having a plurality of different versions comprising respective subgroups of different versions of the plurality of software artifacts; deriving design constructs of the software code of the software artifacts by using an abstract syntax tree analysis; comparing the software code differences between the different versions of each of the software artifacts; classifying the derived design constructs of each of the software artifacts according to the compared software code differences, the software component hierarchy of the software components, and the corresponding software code architecture; and outputting a visualization of the design constructs of each of the software artifacts, which visualization is structured according to the classification of the design constructs.