Abstract A set of software metrics has been used to provide empirical evidence on how code organization changes when a software product evolves. A Java application for graphical data display used in experimental physics has been used as a test case. Exploiting common patterns in the way software applications evolve is desirable as it would give designers and managers a better understanding of the software process. The analysis in which framework reuse has also been considered, highlighted a limited use of the inheritance mechanism and, despite an increase in the overall complexity, a substantial invariance of the internal application organization. This fact is explained by the increasing framework usage and integration during the product's lifetime.