With time software systems easily become obsolete if not updated to reflect the ever-changing needs of their users. This update process is far from trivial as each feature is not necessarily captured by a single module, but rather scattered across a number of different modules. The situation is further aggravated by the fact that a module can encompass a number of different features. Our goal is to measure and evaluate how easy it is to trace back and update a given piece of software based on its modularity. Modularity is known as the degree to which a system’s components may be separated and recombined. The approach that we propose is based on the idea of using relative, as opposed to absolute, modularity metrics that measure the distance between the actual metric values for a given source code and their values achievable for the source code’s ideally modularized counterpart. The approach, termed modularization compass, computes the modularity drift by optimizing the feature-oriented modularization of source code based on traceability links between features and source code. The optimized modularizations are created automatically by transforming the groupings of classes into packages, which is guided by a multi-objective grouping genetic algorithm. The proposed approach was evaluated by application to long-term release histories of three open-source Java applications.