Title :
Separating features in source code: an exploratory study
Author :
Murphy, Gail C. ; Lai, Albert ; Walker, Robert J. ; Robillard, Martin P.
Author_Institution :
Dept. of Comput. Sci., British Columbia Univ., Vancouver, BC, Canada
Abstract :
Most software systems are inflexible. Reconfiguring a system´s modules to add or to delete a feature requires substantial effort. This inflexibility increases the costs of building variants of a system, amongst other problems. New languages and tools that are being developed to provide additional support for separating concerns show promise to help address this problem. However applying these mechanisms requires determining how to enable a feature to be separated from the codebase. We investigate this problem through an exploratory study conducted in the context of two existing systems: gnu.regexp and jFTPd. The study consisted of applying three different separation of concern mechanisms: Hyper/JTM AspectJTM and a lightweight, lexically-based approach, to separate features in the two packages. We report on the study, providing contributions in two areas. First, we characterize the effect different mechanisms had on the structure of the codebase. Second, we characterize the restructuring process required to perform the separations. These characterizations can help researchers to elucidate how the mechanisms may be best used, tool developers to design support to aid the separation process, and early adopters to apply the techniques.
Keywords :
Java; object-oriented programming; software maintenance; software tools; AspectJ; Hyper/J; codebase; early adopters; exploratory study; feature separation; jFTPd; lexically based approach; restructuring process; separation of concern mechanisms; separation process; software systems; source code; system module reconfiguration; tool developers; Computer science; Costs; Delay effects; Delay systems; Packaging; Separation processes; Software systems; Time to market;
Conference_Titel :
Software Engineering, 2001. ICSE 2001. Proceedings of the 23rd International Conference on
Print_ISBN :
0-7695-1050-7
DOI :
10.1109/ICSE.2001.919101