The way in which a system’s software archive is partitioned influences the evolvability of that system. The partition of a software archive is mostly assessed by looking at the static (include, call) relations between the parts. In the literature history information is also taken into account to assess the partition but only pairs of software entities are related. In this paper we describe a novel history-based approach to assess the extent in which a certain partition allows its parts to evolve independently. We use the assumption that a set of software entities which co-evolved often in the past are likely to be modified together in the near future as well. Hence, the elements of such a set should in principle belong to the same part. Our approach, therefore, identifies sets of co-evolving software entities, where each set has elements from more than one part of the archive. We illustrate our approach with a case study of a large software system that evolved during more than a ...
Adam Vanya, Lennart Holland, A. Steven Klusener, P