As programs become larger and start evolving, they often need to be split into modules, in order to facilitate independent evolution of end-user features and consolidate reusable core abstractions. Achieving this for legacy object-oriented software is, however, problematic due to scattering and tangling of feature implementations. While relocation of classes among packages can be used to significantly reduce these phenomena, achieving complete separation of features requires reconceptualization of existing classes. In this paper, we investigate the tradeoffs between relocation and reconceptualization of classes during a migration of the NDVis neuroscience application to the NetBeans module system. We do this by comparing the manually-modularized version of NDVis with three automatically-optimized designs that exhibit various degrees of relocation and reconceptualization. The obtained findings shed new light on the actual extent and impact of relocation and reconceptualization during modularization of legacy features.
|Title of host publication||16th European Conference on Software Maintenance and Reengineering|
|Publisher||IEEE Communications Society|
|Publication status||Published - 2012|
|Event||CSMR 2012, European Conference on Software Maintenance and Reengineering - Szeged, Hungary|
Duration: 27. Mar 2012 → 30. Mar 2012
|Conference||CSMR 2012, European Conference on Software Maintenance and Reengineering|
|Period||27/03/2012 → 30/03/2012|